Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zend_Form - The mimetype of file 'foto.jpg' could not be detected

I have a Zend_Form with file element like this:

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

And when I'm using localhost the image is uploaded successfully. But when I move to my hosting the validation error shows for image field. The mimetype of file 'foto.jpg' could not be detected. What can be the reason of this?

like image 264
vian Avatar asked Mar 26 '10 19:03

vian


3 Answers

same thing happened to me, this was crazy stuff, more than 2 hours trying to figure out what's wrong, here is how to fix it:

install fileinfo extension on linux:

pecl install fileinfo

then you need to add to your php.ini this line:

extension=fileinfo.so

restart your apache and you are done!

*if you server is freeBSD you have to do this:

cd /usr/ports/sysutils/pecl-fileinfo/ make install

like image 99
jacktrade Avatar answered Oct 17 '22 23:10

jacktrade


If you are using XAMPP and localhost just open your php.ini file and uncomment:

extension=php_fileinfo.dll

like image 5
Webdesign7 London Avatar answered Oct 17 '22 21:10

Webdesign7 London


From the comments in the ZF Reference Guide:

In order to make IsImage working (and maybe all other mime related validators) on Zend Server on win32 I had to replace "magic.mime" supplied on Zend Server ("\etc") by the one on Apache ("\conf" , file is called "magic") (don't forget to restart Apache).

If it still doesn't work then you could try with these alternatives:

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

or

  • $element->addValidator('Extension', false, 'jpg');
like image 3
Gordon Avatar answered Oct 17 '22 23:10

Gordon