2011-05-07 99 views
2

大家好我想在我的應用程序中創建一個項目時上傳圖像,但操作失敗返回以下錯誤:文件的MIME類型'mytestimage.jpg '無法檢測到。 我試着添加一個MIME類型驗證器,但錯誤仍然存​​在,任何人都可以告訴我在下面的代碼中哪裏出錯。Zend Framework無法確定MIME類型的圖像上傳

// Image uploads 
$images = new Zend_Form_Element_File('images'); 
$images->setMultiFile(2) 
     ->addValidator('IsImage') 
     ->addValidator('Size',false,'5242880') 
     ->addValidator('Extension',false,'jpg,png,gif') 
     ->addValidator('ImageSize',false,array(
       'minwidth' => 250, 
       'minheight'=>250, 
       'maxwidth'=>500, 
       'maxheight'=>500 
       )) 
     ->setValueDisabled(true); 

非常感謝提前。

格雷厄姆

回答

4

我有同樣的問題。

Zend_Frameworks試圖確定在兩個方面MIME類型:

  • 首先,它試圖使用PECL FILEINFO拓(這是不是每個服務器上安裝)
  • 如果擴展名不istalled它會嘗試使用mime_content_type(一個php函數)。但是這個函數在PHP版本5.3以前不推薦使用

所以在這種情況下,我猜你的hoster使用php版本5.3,並且沒有安裝PECL FILEINFO-Extension。也是一樣不幸的是,我的主機供應商:(

這裏是在php-手動兩種方式的詳細信息:

順便也可以看到代碼ZF在文件「Zend \ File \ Transfer \ Adapter \ Http.php」中使用(行1281-1318:methodname是_detectMimeType

+0

對不起,我打算說這個al所以發生在我的本地主機(win7機器)我會看看我的本地php文件(5.3.5)。我會看看在我的php配置文件中加載這個擴展。 – Graham 2011-05-07 18:28:58

+0

在我的本地php文件中加載擴展名我將與我的主機端進行檢查,並查看他們正在使用的PHP版本。 – Graham 2011-05-07 19:30:10

+0

我很高興我能夠幫助你。希望你的主機會爲你安裝它。乾杯:) – 2011-05-08 10:57:34

相關問題