2016-06-24 86 views
1

我有一個用於輸入文件的HTML表單,如果輸入的文件是通過擴展名.xls的xls文件,則驗證php! 現在,如果用戶重命名一個圖像或腳本文件說abc.jpeg爲abc.xsl該文件不會通過php代碼驗證!我如何驗證它的真正的xls文件,而不考慮擴展名? 進行驗證驗證沒有擴展名的xls文件通過php

if(in_array($file_ext,$expensions)=== false) 
{ 
     echo "extension not allowed, please choose a .xls file."; 
    exit(); 
    } 
+0

如果您期待這樣,您必須根據格式讀取文件,然後您必須驗證。意思是如果xls文件然後檢查內容,如果它的圖像檢查像素,如果doc文件獲取它的內容並驗證。 – Jagadeesh

+0

http://stackoverflow.com/questions/23287341/how-to-get-mime-type-of-a-file-in-php-5-5? –

+0

@MisterHenson感謝這個鏈接幫助了很多 – slash

回答

0

而不是使用文件擴展名的PHP代碼,我會建議你使用mime_content_type返回一個文件的MIME內容類型。檢查鏈接http://php.net/manual/en/function.mime-content-type.php欲知更多信息。

您可以準備一個具有所有允許的MIME類型/文件類型的數組,然後使用函數mime_content_type檢查上載文件的MIME內容類型。

echo mime_content_type('test.php'); //返回文本/純文本

這將幫助您的代碼在跨平臺(其他操作系統兼容性)問題中驗證文件擴展名/文件類型。