首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 文件上傳 MIME 類型對照表:IE 與 Firefox 差異完整整理

     編輯:PHP 相關知識

PHP 文件上傳 MIME 類型對照表:IE 與 Firefox 差異完整整理

文件上傳時,$_FILES['file']['type'] 回傳的 MIME 類型會因瀏覽器而異。本表整理常見副檔名在 IE 與 Firefox 下的對應關係,供驗證邏輯參考。

Internet Explorer 回傳的 MIME 類型

ID副檔名MIME 類型
0gifimage/gif
1jpgimage/jpeg
2pngimage/png
3bmpimage/bmp
4psdapplication/octet-stream
5icoimage/x-icon
6rarapplication/octet-stream
7zipapplication/zip
87zapplication/octet-stream
9exeapplication/octet-stream
10avivideo/avi
11rmvbapplication/vnd.rn-realmedia-vbr
123gpapplication/octet-stream
13flvapplication/octet-stream
14mp3audio/mpeg
15wavaudio/wav
16krcapplication/octet-stream
17lrcapplication/octet-stream
18txttext/plain
19docapplication/msword
20xlsapplication/vnd.ms-excel
21pptapplication/vnd.ms-powerpoint
22pdfapplication/pdf
23chmapplication/octet-stream
24mdbapplication/msaccess
25sqlapplication/octet-stream
26conapplication/octet-stream
27logtext/plain
28datapplication/octet-stream
29iniapplication/octet-stream
30phpapplication/octet-stream
31htmltext/html
32ttfapplication/octet-stream
33fonapplication/octet-stream
34jsapplication/x-javascript
35xmltext/xml
36dllapplication/octet-stream
37dllapplication/octet-stream

Firefox 回傳的 MIME 類型

ID副檔名MIME 類型
0gifimage/gif
1jpgimage/pjpeg
2pngimage/x-png
3bmpimage/bmp
4psdapplication/octet-stream
5icoimage/x-icon
6rarapplication/octet-stream
7zipapplication/x-zip-compressed
87zapplication/octet-stream
9exeapplication/octet-stream
10avivideo/avi
11rmvbapplication/vnd.rn-realmedia-vbr
123gpapplication/octet-stream
13flvapplication/octet-stream
14mp3audio/mpeg
15wavaudio/wav
16krcapplication/octet-stream
17lrcapplication/octet-stream
18txttext/plain
19docapplication/msword
20xlsapplication/vnd.ms-excel
21pptapplication/vnd.ms-powerpoint
22pdfapplication/pdf
23chmapplication/octet-stream
24mdbapplication/msaccess
25sqltext/plain
26conapplication/octet-stream
27logtext/plain
28dattext/plain
29iniapplication/octet-stream
30phpapplication/octet-stream
31htmltext/html
32ttfapplication/octet-stream
33fonapplication/octet-stream
34jstext/html
35xmltext/xml
36dllapplication/octet-stream
37classapplication/java

關鍵差異提醒

  • JPG: IE 為 image/jpeg,FF 為 image/pjpeg
  • PNG: IE 為 image/png,FF 為 image/x-png
  • ZIP: IE 為 application/zip,FF 為 application/x-zip-compressed
  • JS: IE 為 application/x-javascript,FF 為 text/html(需特別注意)
  • SQL/DAT: 兩瀏覽器判定不同,建議以副檔名為主判斷

最佳實踐建議

  1. 不可單純信任 $_FILES['type'],客戶端可偽造
  2. 結合 finfo_file() (Fileinfo 擴展) 讀取真實檔案簽名
  3. 建立白名單機制,僅允許預期的副檔名與 MIME 組合
  4. 上傳後重新命名、移至非執行目錄、設定正確權限

原文來源:PHP文件上傳後綴名與文件類型對照表

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved