2010-02-26 74 views
0

我需要製作一個腳本,將從用戶獲取文件並將其上傳到服務器。我已經完成了這一步,並在第一次嘗試時,我建立了一些檢查,以確保正確上傳了正確的MIME類型。今天,我瞭解到瀏覽器對MIME類型的解釋不同。這讓我覺得,畢竟這不值得檢查。我想要的最後一件事是用戶告訴我他們不能上傳文件,因爲他們的瀏覽器不像我的那樣處理MIME類型。關於文件陣列和MIME類型的問題

任何人都可以提出建議。我應該放棄mime類型並檢查擴展名,還是有更好的方法來做到這一點?我知道這有一個CURL選項,但我認爲這會對這種情況有點矯枉過正。

回答

0

看看FileInfo。切勿依賴用戶/瀏覽器提供給您的任何數據進行驗證。

+0

謝謝。文檔在哪裏?我只在那裏看到用戶註釋。 – Jim 2010-02-26 07:08:21

+0

我同意你關於不信任任何來自瀏覽器的信息。 – Jim 2010-02-26 07:08:50

+0

@Jim:具體來說,你需要finfo_file:http://www.php.net/manual/en/function.finfo-file.php – jasonbar 2010-02-26 07:10:33

0

我會去一個排除過濾器。設置您支持的擴展名(jpeg,jpg,gif,png,txt,doc,xls等),將它們匹配並測試圖像文件是否確實是getimagesize()的圖像。

這是一種不同的方法,我認爲它稍好一些,因爲您不希望每個文件類型都被上傳。

現在我想到了,你可以實現兩者。

祝你好運。