#zend-framework
#zend-framework
Вопрос:
Всем привет, я пытаюсь загрузить изображение при создании элемента в моем приложении, однако действие завершается неудачей, возвращая следующую ошибку: mimetype файла ‘mytestimage.jpg ‘не удалось обнаружить. Я пытался добавить средство проверки типа 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);
Заранее большое спасибо.
Грэм
Ответ №1:
У меня была такая же проблема.
Zend_Frameworks пытается определить mimetype двумя способами:
- Сначала он пытается использовать расширение PECL FILEINFO (которое установлено не на каждом сервере)
- если расширение не установлено, оно пытается использовать
mime_content_type
(функцию php). Однако эта функция устарела с версии php 5.3
Итак, в этом случае, я предполагаю, что ваш хостер использует php версии 5.3 и не установил расширение PECL FILEINFO. К сожалению, то же самое касается моего хостера: (
Вот более подробная информация о двух способах в руководстве по php:
- http://de.php.net/manual/en/function.mime-content-type.php
- http://de.php.net/manual/en/ref.fileinfo.php
Кстати. Вы можете увидеть код, который ZF использует в файле «ZendFileTransferAdapterHttp.php » (строки 1281-1318: имя метода равно _detectMimeType
Комментарии:
1. Извините, я хотел сказать, что это также происходит на моем локальном хостинге (компьютер win7) Я посмотрю на свой локальный php-файл (5.3.5). Я посмотрю, как загрузить это расширение в мой конфигурационный файл php.
2. загрузка расширения в мой локальный php-файл сработала, я рассмотрю это с моим хостером и посмотрю, какую версию php они используют.
3. Я рад, что смог вам помочь. Надеюсь, ваш хостер установит его для вас. Приветствия 🙂