使用PHP的ImageMagick和上传文件

时间:2012-07-12 13:10:04

标签: php imagemagick

我正在使用PHP处理上传图像文件,然后使用ImageMagick创建图像的缩略图。

问题:我应该如何向Imagemagick提供源文件和目标文件的路径?

我将源文件的位置设为$_FILES['photo']['tmp_name'];,结果类似于

/tmp/php2c3dCg

对于目标文件,我必须提供像

这样的完整路径
/home/mywebsite/public_html/public/img/posts/thumbnail/1087_1174cc2995db2a19472da1bbf1665e94b5121246.jpg

问题

  1. 我是否必须提供目标图像的完整路径?在Imagemagick网站上的示例中,它使用了convert dragon.gif -resize 64x64 resize_dragon.gif。当我尝试convert /tmp/php2c3dCg -thumbnail 220x220^ -gravity center -extent 220x220 -quality 90 /home/mywebsite/public_html/public/img/posts/thumbnail/1087.jpg时,它似乎有效。我怎样才能缩短它?

  2. /tmp/php2c3dCg位于根目录而不是public_html?我在public_html

  3. 中看不到该文件夹

1 个答案:

答案 0 :(得分:1)

1。

您可以使用相对于工作目录的路径。如果您使用的是PHP exec(),则工作目录是包含PHP脚本的目录。但是绝对路径有什么问题,你的脚本并不关心它们是否很长而且问题的来源较少。

2

是的,它位于系统的临时目录中。这是PHP放置用户上传文件的地方。它们在处理完请求后被删除,因此您需要复制/处理它并将其保存在其他地方,如果您想保留它。