簡體   English   中英

Internet Explorer文件上傳無法通過MIME類型檢查

[英]Internet Explorer file upload fails mime-type check

我將來自各種互聯網來源的一些腳本拼湊在一起,以使表格正常工作。 我遇到了一個我無法解決的問題。 我創建的表單允許用戶在字段中提交他們的數據,以及圖像附件(驗證:.EPS或.JPG格式)。

該腳本在Firefox和Safari中可以正常運行,但在Internet Explorer中不能正常運行。 在IE中,無論您是否附加了正確類型的圖像,它都會針對錯誤的文件類型返回錯誤。 因此出於某種原因,IE似乎沒有像PHP要求的那樣驗證文件類型。

<?php
/* ....
   snip
   .... */
      $filetype=$_FILES["prosp_client_logo"]["type"];
/* ....
   snip
   .... */
      elseif($filetype=="application/postscript" or $filetype=="image/jpg" or $filetype=="image/jpeg") {
/* ....
   snip
   .... */
?>

如果需要任何說明,請告訴我。

http://www.php.net/manual/en/features.file-upload.php#75932

理查德·戴維(Richard Davey)富有,來自corephp dot co dot uk 2007年6月22日12:05
您可能傾向於根據$ _FILES數組中報告的mime類型來驗證更新。 但是請注意這一點-它是由瀏覽器設置的,而不是由PHP或Web服務器設置的,並且瀏覽器不一致(有什么新功能?!)

IE將為附件發送自己的mime-type (基於其文件系統關聯),該類型通常可能與您在代碼中期望的不同。 這些數據也可以被欺騙,因此最好不要相信瀏覽器對文件的mime-type所說的話。

也:

http://www.php.net/manual/en/features.file-upload.php#53133

keith在phpdiary dot org上2005年5月24日11:14
[...]我最好的選擇是讓您檢查文件的擴展名,並使用exif_imagetype()檢查有效圖像。 許多人建議使用getimagesize()(如果文件確實是圖像,則返回數組),否則返回false,但是exif_imagetype()更快。 (手冊中是這樣說的)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM