在用 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擴展才能
不知道這樣能不能解決問題,試試吧:
1、在開始->控制面板->添加/刪除程序裡面將現在的ACDSEE刪除掉;
2、在開始->運行中輸入“regedit”回車,進入注冊表編輯器;
3、點擊“我的電腦”,用快捷鍵“Ctrl+F”進入查找;
4、在查找對話框裡面輸入“acdsee”,把找到的所有相關內容全部刪除;(注意,刪除之前最好用“文件->導出”對注冊表進行備份,刪除完之後再次查找確認已經刪除干淨了)
3、關閉注冊表編輯器,用“超級兔子”再清理一下注冊表和硬盤(所有acdsee相關的安裝文件,包括隱藏的,都刪除掉)
4、重啟系統,安裝官方ACDSEE軟件包。(最好不要用從一些小網站上面down的測試版、試用版等,可能有bug,另外盡量不要做漢化,也比較容易出問題,強烈建議使用一個成熟的穩定版本,最新的版本一般bug都比較多)
祝你順利解決問題:)
文件格式,一般用jpg或者gif可能為bmp了……