我正在努力解决在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行
答案 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;