HEX
Server: nginx/1.16.1
System: Linux VM-0-14-centos 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64
User: www (1000)
PHP: 8.3.31
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/1.scey.cn/wp-content/plugins/wpjam-basic/cdn/qcloud_cos.php
<?php
function wpjam_get_qcloud_cos_thumbnail($img_url, $args=[]){
	if($img_url && (!wpjam_is_image($img_url) || !wpjam_is_cdn_url($img_url))){
		return $img_url;
	}

	$args	= wp_parse_args($args, [
		'crop'		=> 1,
		'width'		=> 0,
		'height'	=> 0,
		'webp'		=> wpjam_cdn_get_setting('webp') && wpjam_is_webp_supported(),
		'interlace'	=> wpjam_cdn_get_setting('interlace'),
		'quality'	=> wpjam_cdn_get_setting('quality'),
		'watermark'	=> '',
		'dissolve'	=> wpjam_cdn_get_setting('dissolve') ?: 100,
		'gravity'	=> wpjam_cdn_get_setting('gravity') ?: 'SouthEast',
		'dx'		=> wpjam_cdn_get_setting('dx') ?: 10,
		'dy'		=> wpjam_cdn_get_setting('dy') ?: 10,
		'spcent'	=> 10
	]);

	$width	= $args['width'];
	$height	= $args['height'];
	$width	= $width > 10000 ? '' : $width;
	$height	= $height > 10000 ? '' : $height;

	$thumb_arg	= '';

	if($width || $height){
		$thumb_arg	.= '/thumbnail/';

		if($width && $height){
			$thumb_arg	.= '!'.$width.'x'.$height.'r';
			$thumb_arg	.= $args['crop'] ? '|imageMogr2/gravity/Center/crop/'.$width.'x'.$height.'' : '';	// 只有都设置了宽度和高度才裁剪
		}else{
			$thumb_arg	.= $width.'x'.$height;
		}
	}

	$thumb_arg	.= $args['webp'] ? '/format/webp' : ($args['interlace'] ? '/interlace/'.$args['interlace'] : '');
	$thumb_arg	.= $args['quality'] ? '/quality/'.$args['quality'] : '';
	$thumb_arg	= $thumb_arg ? 'imageMogr2'.$thumb_arg : '';

	if((!empty($args['content']) || $args['watermark']) && strpos($img_url, '.gif') === false){
		$watermark	= $args['watermark'] ?: wpjam_cdn_get_setting('watermark');

		if(array_all(['width', 'height'], fn($k)=> $args[$k] >= (int)wpjam_cdn_get_setting('wm_'.$k)) && $watermark){
			$thumb_arg	.= ($thumb_arg ? '|' : '').'watermark/1/image/'.base64_urlencode($watermark);
			$thumb_arg	= array_reduce(['dissolve', 'gravity', 'dx', 'dy', 'spcent'], fn($c, $k)=> $c.'/'.$k.'/'.$args[$k], $thumb_arg);
		}
	}

	if($thumb_arg){
		$query_args	= [];

		if($query = parse_url($img_url, PHP_URL_QUERY)){
			$img_url	= str_replace('?'.$query, '', $img_url);
			$query_args	= wpjam_filter(wp_parse_args($query), fn($v, $k)=> strpos($k, 'imageMogr2/') === false && strpos($k, 'watermark/') === false);
		}

		$query_args[$thumb_arg]	= '';

		return add_query_arg($query_args, $img_url);
	}

	return $img_url;
}

return 'wpjam_get_qcloud_cos_thumbnail';