我正在使用PHP处理上传图像文件,然后使用ImageMagick创建图像的缩略图。
问题:我应该如何向Imagemagick提供源文件和目标文件的路径?
我将源文件的位置设为$_FILES['photo']['tmp_name'];
,结果类似于
/tmp/php2c3dCg
对于目标文件,我必须提供像
这样的完整路径/home/mywebsite/public_html/public/img/posts/thumbnail/1087_1174cc2995db2a19472da1bbf1665e94b5121246.jpg
问题
我是否必须提供目标图像的完整路径?在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
时,它似乎有效。我怎样才能缩短它?
/tmp/php2c3dCg
位于根目录而不是public_html
?我在public_html
。
答案 0 :(得分:1)
您可以使用相对于工作目录的路径。如果您使用的是PHP exec()
,则工作目录是包含PHP脚本的目录。但是绝对路径有什么问题,你的脚本并不关心它们是否很长而且问题的来源较少。
是的,它位于系统的临时目录中。这是PHP放置用户上传文件的地方。它们在处理完请求后被删除,因此您需要复制/处理它并将其保存在其他地方,如果您想保留它。