有人用过 PHP -imagick 这个扩展吗?请教一个图片上传问题

2017-06-09 17:33:01 +08:00
 Nagisa1992

环境是 php7.1+laravel,装了 php-imagick 扩展,代码如下

try{
   $image = new Imagick();
   $image->readImage($_FILES[$name]['tmp_name']);
}
catch (Exception $e)
{
    echo $e->getMessage();
}

在 readimage 的时候异常报错 Imagick::readImage not implemented
图片文件数据
array:5 [
  "name" => "153_140909152250_5.jpg"
  "type" => "image/jpeg"
  "tmp_name" => "/tmp/phpwCeZlE"
  "error" => 0
  "size" => 345930
]

这个报错有点不明所以,不知道到底是哪出了问题,图片应该是没问题的,不过在服务器的 /tmp 没找到这个文件名

2690 次点击
所在节点    PHP
10 条回复
owenliang
2017-06-09 17:41:29 +08:00
先把文件 move_uploaded_file 到其他目录,再读取。
Nagisa1992
2017-06-09 18:08:16 +08:00
@owenliang 试过了,不行
yimity
2017-06-09 18:08:17 +08:00
你看下那个英文是什么意思。
Nagisa1992
2017-06-09 18:08:50 +08:00
@yimity 方法未执行,所以我才说报错不明所以。。。这句报错完全无意义我感觉
kumakiti
2017-06-09 18:12:36 +08:00
Imagick::readImage not implemented
这个函数没有实现,你可以翻一翻源码,看看是否确实没实现
如果版本低了,高一点的版本说不定实现了
或者看看文档换个方法
sunmonster
2017-06-09 19:00:26 +08:00
方法用错了,你去看文档,它的参数是啥
mokeyjay
2017-06-09 19:06:34 +08:00
既然都用 laravel 了为何还这样写代码……
gaocheng
2017-06-09 19:32:40 +08:00
没有图片吧,上传成功了吗?
explon
2017-06-09 19:38:37 +08:00
看了下我的项目调用的是 readimageblob 不是 readimage
queue
2017-06-10 11:02:38 +08:00
laravel,当使用 php 自带的类或者拓展的时候印象中前面要加\,不太确定是不是这个问题。
另外,p 个 s,既然都上框架了,就不要用$_FILES 这样子的超级变量啦,不是有 Request 么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/367292

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX