上传图片时出现错误(空白页),但前提是图片的大小与表单中允许的最小值相同。我可以将图像调整为实际尺寸吗?
list($width, $height) = getimagesize($add);
$logo_width = '150';
$logo_height = '110';
if($width < $logo_width || $height < $logo_height) {
echo 'Sorry, but this image does not meet the minimum height/width requirements';
unlink($add);
}
else {
$old = $upload_dir['path'] . '/' . get_post_meta($post_id, 'logo', true);
unlink($old);
$resized = image_resize($add, $logo_width, $logo_height, true);
unlink($add);
$add = $resized;
$fname = strrchr($add, '/');
$img = str_replace('/', '', strtolower($fname));
if(!get_post_meta($post_id, 'logo')){
add_post_meta($post_id, 'logo', $img);
}
else {
update_post_meta($post_id, 'logo', $img);
}
}
我可以将图片调整为实际尺寸吗?
更新 我做了一个var_dump($ resized);我在尺寸与允许尺寸相同的图像上得到了这个。
对象(WP_Error)#251(2){[“errors”] =&gt; array(1){ [ “error_getting_dimensions”] =&GT; array(1){[0] =&gt; string(44)“不能 计算已调整大小的图像尺寸“}} [”error_data“] =&gt;数组(0){} }
但对于更大的图像,我没有任何问题。
在media.php(http://core.trac.wordpress.org/browser/tags/3.4/wp-includes/media.php)第385行的image_resize_dimensions
函数中找到答案
// if the resulting image would be the same size or larger we don't want to resize it if ( $new_w >= $orig_w && $new_h >= $orig_h ) return false;