2012-07-14 68 views
-3
$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

回答

1

由於PHP運行在服務器端,PHP將無法在將圖像上傳到服務器之前調整其大小。

使用imagecopyresizedimagecopyresampled用PHP調整圖像大小。

+0

以及我如何調整後的圖像? – 2012-07-14 03:03:11

+0

您是否閱讀過文檔鏈接? – Jocelyn 2012-07-14 22:14:08

0

在將圖像上傳到服務器之前調整圖像的大小是不可能的,因爲PHP只能在那裏工作,您要做的只是嘗試使用服務器端不存在的圖像,所以你必須在操作之前上傳圖片。

如果您擔心上傳圖片的大小及其消耗的時間,請將用戶限制爲特定圖片格式和特定​​尺寸,例如,如果您允許用戶上傳他的個人消息只允許真正的小圖像或者只允許gif(.gif)圖像,而不是採用一個巨大的(2MB +)png(.png)圖像並將其調整到所需的大小(比如52x52)。

但是我相信可以通過使用一些客戶端代碼來實現想要上傳的圖像並實時調整它的大小。

相關問題