1

我正在使用 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

4

1 回答 1

1

1.

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

2.

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

于 2012-07-12T13:26:57.523 回答