在上传之前调整图像大小

问题描述:

$filename=$_FILES["photo"]["tmp_name"]; 

$extension=end(explode(".", $filename)); 
$newfilename="1.".$extension; 
$target = "image_files/". $newfilename; 
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
{ 
    echo "Ok"; 
} 

我已经创建了上面的代码,但是如何上传重新调整大小的图像?在上传之前调整图像大小

+0

上传前无法调整图像大小,导致一些JS黑客入侵。要调整服务器端的大小,一些谷歌会帮助你。 – 2012-07-14 01:50:54

+1

欢迎来到Stack Overflow! – 2012-07-14 01:51:16

+0

检查了这一点:http://www.rubydesigner.com/blog/resizing-images-before-upload-using-html5-canvas – vsync 2012-10-28 05:35:24

由于PHP运行在服务器端,PHP将无法在将图像上传到服务器之前调整其大小。

使用imagecopyresizedimagecopyresampled用PHP调整图像大小。

+0

以及我如何调整后的图像? – 2012-07-14 03:03:11

+0

您是否阅读过文档链接? – Jocelyn 2012-07-14 22:14:08

在将图像上传到服务器之前调整图像的大小是不可能的,因为PHP只能在那里工作,您要做的只是尝试使用服务器端不存在的图像,所以你必须在操作之前上传图片。

如果您担心上传图片的大小及其消耗的时间,请将用户限制为特定图片格式和特定​​尺寸,例如,如果您允许用户上传他的个人消息只允许真正的小图像或者只允许gif(.gif)图像,而不是采用一个巨大的(2MB +)png(.png)图像并将其调整到所需的大小(比如52x52)。

但是我相信可以通过使用一些客户端代码来实现想要上传的图像并实时调整它的大小。