ImageMagick和PHP的问题

时间:2014-08-18 18:27:25

标签: php imagemagick

我正在努力解决在ImageMagick中阅读图像的简单问题而不确定原因

该网站托管在Linux PHP 5.4版本下

上传图片后,我这样做是为了打印。

$image = $_FILES['file']['name'];
$imagen = new Imagick($image);
$imagen->thumbnailImage(100, 0);
echo $image;

(pub1.gif)这是要上传的原始图片的名称

但我收到以下错误,不知道如何处理它。

  

致命错误:带有消息的未捕获异常'ImagickException'   '无法打开图片`pub1.gif':没有这样的文件或目录@   blob.c / OpenBlob / 2480'中   /home/content/38/10882038/html/carsventa/accountpass/post/publish-advertisement.php:74Stack   跟踪:#0   /home/content/38/10882038/html/carsventa/accountpass/post/publish-advertisement.php(74):   Imagick-> __ construct('pub1.gif')#1 {main}引入   /home/content/38/10882038/html/carsventa/accountpass/post/publish-advertisement.php   第74行

2 个答案:

答案 0 :(得分:2)

你应该使用:

$image = $_FILES['file']['tmp_name'];

而不是:

$image = $_FILES['file']['name'];

您正在尝试使用不在服务器中的客户端文件,因此库无法正确访问它。

答案 1 :(得分:2)

全局$_FILES['file']['name']是原始文件名,而不是磁盘上的文件。上传的图像位于$_FILES['file']['tmp_name']下的临时文件中,该文件将在脚本完成时删除。见docs

 $image = $_FILES['file']['tmp_name'];
 $imagen = new Imagick($image);
 $imagen->thumbnailImage(100, 0);
 echo $image;