1. 程式人生 > >Thinkphp iis 上傳圖片報錯(非法影象檔案)問題解決辦法!

Thinkphp iis 上傳圖片報錯(非法影象檔案)問題解決辦法!

報錯:非法影象檔案!

環境:iis7.5/fastcgi  php5.5.24  php.ini中 upload_tmp_dir  目錄許可權  都設定ok

首先我們看原始碼:

/* 對影象檔案進行嚴格檢測 */
            $ext = strtolower($file['ext']);
            if(in_array($ext, array('gif','jpg','jpeg','bmp','png','swf'))) {
                $imginfo = getimagesize($file['tmp_name']);
                if(empty($imginfo) /*|| ($ext == 'gif' && empty($imginfo['bits']))*/){
                    $this->error = '非法影象檔案!';
                    continue;
                }
            }
問題就出在 getimagesize()無法獲取到圖片資訊;導致報錯!

測試了很多辦法,最後發現 使用getimagesize 時需要將臨時目錄路徑加到php.ini  open_basedir ="D:/****;D:/****/tmp" ;問題解決!