2012-08-27 38 views
-1

執行以下步驟要了解清楚這個問題:檢查如果上傳的文件確實是一個正確的文件或不(PHP)

  1. 打開記事本。
  2. 鍵入內容並將其保存爲「.png」(或任何其他圖像格式)。
  3. 嘗試將其作爲具有擴展驗證的圖像文件上載。
  4. 現在嘗試顯示它。

預計:要顯示的錯誤上載

實際:該文件沒有任何問題得到輕鬆上傳,只有當訪問它發生錯誤。

+0

所以你的問題是如何檢查文件內容? – MimiEAM

+1

上傳前應檢查文件[mime_content_type()](http://php.net/manual/en/function.mime-content-type.php)。 –

+0

用gd或類似的庫在php中打開圖像,並嘗試重新編碼它(例如轉換爲jpg) - 如果失敗它不是一個正確的圖像。 – l4mpi

回答

0

mime_content_type()被棄用的函數。 相反,您可以使用

<?php 
print_r(getimagesize("listing.png")); 
?> 

如果顯示錯誤,則該文件是無效的PNG文件。如果文件有效,它將返回一組信息。

編輯:這項工作,如果你只與圖像工作。

+0

當你不處理圖像時,使用['FileInfo functions'](http://php.net/ref.fileinfo) –

+0

@Carlos,是的,但是FileInfo可以通過PECL獲得,它沒有捆綁在我認爲的默認包中。 – WatsMyName

+0

默認情況下,自PHP 5.3開始:「此擴展在PHP 5.3.0之前默認啓用,在此之前,fileinfo是PECL擴展,但不再維護,但5.3+之前的版本可能會使用已停產的版本PECL延期「。 –

相關問題