Zend_Form - Mimetype файла 'foto.jpg' не может быть обнаружен - PullRequest
6 голосов
/ 26 марта 2010

У меня есть Zend_Form с таким элементом файла:

->addElement('file', 'image', array(
        'required' => false,
        'label' => 'Venue Image',
        'validators' => array(
            array('IsImage', false),
            array('Size', false, '2097152'),
            array('Upload', false),
        ),
    ))

И когда я использую localhost, изображение успешно загружено. Но когда я перехожу на свой хостинг, для поля изображения отображается ошибка проверки. Mimetype файла 'foto.jpg' не может быть обнаружен. Что может быть причиной этого?

Ответы [ 3 ]

11 голосов
/ 04 апреля 2010

то же самое случилось со мной, это было сумасшествие, более 2 часов пытались выяснить, что не так, вот как это исправить:

установить расширение fileinfo на linux:

pecl install fileinfo

тогда вам нужно добавить в свой php.ini эту строку:

расширение = fileinfo.so

перезагрузите апач, и все готово!

* если ваш сервер freeBSD, вы должны сделать это:

cd / usr / ports / sysutils / pecl-fileinfo / сделать установку

5 голосов
/ 06 ноября 2012

Если вы используете XAMPP и localhost, просто откройте файл php.ini и раскомментируйте:

расширение = php_fileinfo.dll

3 голосов
/ 27 марта 2010

Из комментариев в Справочном руководстве ZF :

Чтобы заставить IsImage работать (и, возможно, все другие валидаторы, связанные с mime) на Zend Server на win32, мне пришлось заменить «magic.mime», поставляемый на Zend Server («\ etc»), на Apache («\ conf ", файл называется" magic ") (не забудьте перезапустить Apache).

Если это все еще не работает, вы можете попробовать следующие варианты:

  • $element->addValidator('Mimetype', false, 'image/jpg');

или

  • $element->addValidator('Extension', false, 'jpg');
...