【问题标题】:Keeping uploaded images in tmpfolder for resizing将上传的图像保存在 tmpfolder 中以调整大小
【发布时间】:2011-04-04 11:48:08
【问题描述】:

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

目前它正在通过上传图片,移动到上传目录(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);

【问题讨论】:

  • 为什么不调整大小然后覆盖原件本身?
  • 不错,只是快速添加了unlink测试一下

标签: php apache2 temp


【解决方案1】:

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

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

【讨论】:

  • 谢谢,我在想可以访问图像,因为它应该已经在服务器上......而且 flash 并不是一个很好的选择,因为它应该是一个非常简单的和快速的网站:P,但感谢这个答案
猜你喜欢
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2011-10-24
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 2020-06-14
  • 2013-08-20
相关资源
最近更新 更多