2016-09-28 77 views
-3

我需要在存儲它們之前更改此代碼以調整圖像大小,超過500 kB。更改代碼以在上傳時調整圖像大小

if(isset($_FILES['photo'])) 
    if(file_exists($_FILES['photo']['tmp_name']) || !is_uploaded_file($_FILES['photo']['tmp_name'])){ 
     $file_name = basename($_FILES['photo']['name']); 

     $temp = explode(".", $_FILES["photo"]["name"]); 
     $newfilename = round(microtime(true)) . '.' . end($temp); 
     $target_path = plugin_dir_path(__FILE__) . "uploads/$newfilename"; 

     if(move_uploaded_file($_FILES['photo']['tmp_name'], $target_path)) { 
      $handle = fopen($target_path, "rb"); 
      $fsize = filesize($target_path); 
      $img_contents = fread($handle, $fsize); 
      fclose($handle); 
     } 
    } 
+2

歡迎SO。 請閱讀[我可以問哪些主題](http://stackoverflow.com/help/on-topic) 和[如何提出一個好問題](http://stackoverflow.com/help/how-to - 問) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) 以及如何創建[最小,完整和可驗證的例子] (http://stackoverflow.com/help/mcve) SO是**不是一個免費的編碼或代碼轉換或調試或教程或庫查找服務** 您還必須表明,你已經努力解決你自己的問題。 – RiggsFolly

回答

1

這是您可能用於調整圖像大小的功能之一:imagecopyresampled。我選擇了這一個,因爲它具有如何在用戶貢獻的筆記中維度屬性工作的良好圖表。

這是從該網頁的代碼,稍加修改實際上它保存爲「simpleimage.jpg」 ......

// The file 
$filename = 'test.jpg'; 
$percent = 0.5; 

// Get new dimensions 
list($width, $height) = getimagesize($filename); 
$new_width = $width * $percent; 
$new_height = $height * $percent; 

// Resample 
$image_p = imagecreatetruecolor($new_width, $new_height); 
$image = imagecreatefromjpeg($filename); 
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 

// Output 
imagejpeg($image_p, 'simpleimage.jpg', 100); 
+0

鏈接只有答案是皺眉。添加至少一些有用的描述作爲關閉站點資源的鏈接通常會被破壞 – RiggsFolly

+0

已被編輯。我主要想給出PHP函數的名字,但你是對的。 – sdexp

+0

這比紫外線更好 – RiggsFolly