1

我正在开发一个上传脚本,该脚本还可以调整图像大小/重新缩放图像。

目前它正在通过上传图像,移动到上传目录(site.com/upload)然后调整大小,然后再次删除原始文件来工作......

现在我的问题是:我可以在不将原始文件移动到上传目录的情况下做到这一点,甚至更好,还可以将新文件保存在 tmp 中,以便用户事后确认图像(所以如果他们不想要它,只需点击“返回”按钮,它不会留在上传目录中。)

当前代码:

move_uploaded_file($_FILES['file']['tmp_name'], 'resize-upload/'.$_FILES['file']['name']);
$filename=$_FILES['file']['name'];    
$Imagick=new Imagick();
$Imagick-> readImage('resize-upload/'.$filename);
$Imagick-> scaleImage(200,200,auto);
$Imagick-> writeImage('resize-upload/resized-'.$filename);


unlink('resize-upload/'.$filename);
4

1 回答 1

4

你不能。如果您尚未移动该图像,则您无权访问它。但是您可以一次从同一个图像/对象生成多个缩略图,并且如果您还存储/保留原件,那么您也不需要取消链接。

另一种方法是使用闪存并在客户端调整图像大小,然后仅保存调整大小的图像。

于 2011-04-04T11:51:19.657 回答