在用 codeigniter 的上傳類上傳圖片的時候,明明是 jpg 格式圖片,但是 ci 始終識別成 application/octet-stream 類型,從而導致上傳失敗,搜集了下資料,解決方法如下:
在 php.ini 中開啟 fileinfo 擴展來獲取正確的類型:
復制代碼 代碼如下:
//windows
extension = php_fileinfo.dll
//linux
extension = fileinfo.so
注:關於fileinfo
PHP官方推薦mime_content_type()的替代函數是Fileinfo函數。PHP 5.3.0+已經默認支持Fileinfo函數(fileinfo support-enabled),不必進行任何配置即可使用finfo_open()判斷獲取文件MIME類型。Centos 默認安裝的LAMP環境php版本還是PHP5.2.6,低於5.3.0版本則可能出現類似錯誤提示:PHP Fatal error: Call to undefined function finfo_open() in…。因為之前的php版本,需要加載magic_open類,fileinfo函數屬於PECL擴展,啟用fileinfo PECL擴展才能