【发布时间】:2014-07-28 04:36:09
【问题描述】:
我正在尝试创建 pdf 文件的 jpg 预览,如以下问题所述:How do I convert a PDF document to a preview image in PHP?
这样做的相关代码是:
$im = new imagick('file.pdf[0]');
$im->setImageFormat('jpg');
header('Content-Type: image/jpeg');
echo $im;
我在我的本地主机上的 pdf 文件上运行它,但收到错误:
Fatal error: Uncaught exception 'ImagickException' with message 'Imagick::__construct(): HTTP request failed! HTTP/1.0 400 Bad Request '
这里触发了错误:
$im = new imagick(build_url('uploads/files/'.$file_data['file_name'].'[0]'));
这与上面示例代码中的第一行相同,当我回显它提供了正确的路径时,我提供了 pdf 文件的完整 url 路径
http://oursite.localhost:8888/uploads/files/file_name.pdf[0]
有谁知道是什么导致了这个错误?谢谢!
【问题讨论】:
-
如果使用相对路径?
'./uploads/file/'.$file_data['file_name'].'[0]'? -
感谢您的建议...当我尝试时得到“没有这样的文件或目录”。但是,我刚刚发现了这个stackoverflow.com/questions/9783216/…,所以我要尝试一下
-
首先你告诉 imagick 从 URL 加载它......不是本地文件系统......你请求的 URL 从 apache 收到一个 HTTP 错误,说错误请求很可能是因为 [0 ] 不喜欢 mod 安全性...摆脱 build_url
-
显示你的函数
build_url()似乎构建了一个错误的url -
build_url()创建我们的网址并且它可以正常工作。当我回显build_url('uploads/files/'.$file_data['file_name'].'[0]');我得到http://oursite.localhost:8888/uploads/files/file_name.pdf[0]
标签: php pdf imagemagick