2012-03-23 49 views
0

我想對下面使用jQuery Uploadify插件上傳的單個文件進行驗證。如何使用Uploadify插件進行服務器端驗證?

  1. 檢查文件類型爲.jpg,.png & .gif注意:
  2. 檢查文件大小不得超過2MB只有

我已經通過fileExt & sizeLimit選擇這樣做,但正如插件開發人員所說,可以輕鬆繞過fileExt驗證&建議使用服務器端驗證。

我想使用PHP服務器端腳本語言來做到這一點。

我已經檢查了插件&的文檔沒有什麼有用的發現那裏。 有人可以請建議如何做到這一點?

在此先感謝。

回答

1

我會推薦使用filesizeexif_imagetype函數來評估文件。下面應該指向你在正確的方向:

$up_file = "file_the_user_uploaded"; 
$two_mb = 2097152; 
if (filesize($up_file) < $two_mb) { 
    if (exif_imagetype($up_file) > 0 && exif_imagetype($up_file) < 4) { 
     // the file is .gif, .jpg, or .png and less than 2MB 
     // do something to approve the file upload 
    } 
} 

注意,在PHP中filesize()函數返回的字節大小,因此,該文件應小於$two_mb字節。此外,exif_imagetype()還返回一個整數代碼映射到上傳圖像的MIME類型:1,2,3,分別爲.gif.jpg.png

+0

好吧,但我應該如何顯示這些驗證錯誤? – aslamdoctor 2012-03-24 01:15:01

+0

您想要在錯誤中顯示什麼? – Whymarrh 2012-03-24 15:48:56

0

您需要對處理文件上傳的腳本進行驗證。這不是預驗證。

您可以使用exif_imagetype以確保它是一個圖像文件。

使用filesize($_FILES['file']['tmp_name']) < 2000000來驗證文件的大小。

相關問題