執行以下步驟要了解清楚這個問題:檢查如果上傳的文件確實是一個正確的文件或不(PHP)
- 打開記事本。
- 鍵入內容並將其保存爲「.png」(或任何其他圖像格式)。
- 嘗試將其作爲具有擴展驗證的圖像文件上載。
- 現在嘗試顯示它。
預計:要顯示的錯誤上載
實際:該文件沒有任何問題得到輕鬆上傳,只有當訪問它發生錯誤。
執行以下步驟要了解清楚這個問題:檢查如果上傳的文件確實是一個正確的文件或不(PHP)
預計:要顯示的錯誤上載
實際:該文件沒有任何問題得到輕鬆上傳,只有當訪問它發生錯誤。
mime_content_type()被棄用的函數。 相反,您可以使用
<?php
print_r(getimagesize("listing.png"));
?>
如果顯示錯誤,則該文件是無效的PNG文件。如果文件有效,它將返回一組信息。
編輯:這項工作,如果你只與圖像工作。
當你不處理圖像時,使用['FileInfo functions'](http://php.net/ref.fileinfo) –
@Carlos,是的,但是FileInfo可以通過PECL獲得,它沒有捆綁在我認爲的默認包中。 – WatsMyName
默認情況下,自PHP 5.3開始:「此擴展在PHP 5.3.0之前默認啓用,在此之前,fileinfo是PECL擴展,但不再維護,但5.3+之前的版本可能會使用已停產的版本PECL延期「。 –
所以你的問題是如何檢查文件內容? – MimiEAM
上傳前應檢查文件[mime_content_type()](http://php.net/manual/en/function.mime-content-type.php)。 –
用gd或類似的庫在php中打開圖像,並嘗試重新編碼它(例如轉換爲jpg) - 如果失敗它不是一個正確的圖像。 – l4mpi