我正在WordPress中开发自定义图片上传字段,但是一旦上传成功后,处理图片方面遇到了很多困难。除了上传外,我还需要将图像调整大小以创建缩略图。每次尝试使用已上传的图像进行处理时,都会出现无法找到文件的错误(即使我可以在浏览器中查看它,并且该文件明确位于目录中)。上传的图片默认权限为666,但我也尝试过将其更改为777,但结果相同。调整大小的函数在上传后单独调用。这是我尝试过的其中一种方法:
function resize_author_picture($filename) {
$filename = $_POST['file'];
$file = fopen($filename, 'r');
$data = fread($file);
fclose($file);
$dimensions = getimagesize($filename);
$dir = dirname($filename);
$crop = wp_crop_image( $data, $dimensions[0], $dimensions[1], 0, 0, 250, 280, null, $dir."/image.jpg" );
die( "crop: ".var_dump($crop)." file: ".$filename." path: ".$dir."/image.jpg" );
}
当提供图片路径不起作用时,我尝试使用fopen()作为第二次尝试。以下是先前的尝试:
function resize_author_picture($file) {
$file = $_POST['file'];
$dimensions = getimagesize($file);
$dir = dirname($file);
$crop = wp_crop_image( $file, $dimensions[0], $dimensions[1], 0, 0, 250, 280, null, $dir."/image.jpg" );
die( "crop: ".var_dump($crop)." file: ".$file." path: ".$dir."/image.jpg" );
}
两者均返回一个WP错误对象,格式如下:
string(123) "File <http://site.local/wp-content/uploads/2010/09/squares-wide.jpeg> doesn't exist?"
想不出主意了,欢迎提供任何意见!