将上传的图像保存在tmp文件夹中以便调整大小

时间:2011-04-04 11:48:08

标签: php apache2 temp

我正在处理一个上传脚本,该脚本也会调整图像大小/重新缩放。

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

1 个答案:

答案 0 :(得分:4)

你做不到。如果尚未移动图像,则无法访问该图像。但是,您可以从同一图像/对象一次生成多个缩略图,如果您正在存储/保留原始缩略图,则您也不需要取消链接。

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