I am trying to upload file using zend frame work but have not been successful. I have read Akras tutorial, which was helpful but when i used those techniques in my project I was not able to get it to work.
+9
A:
The link you posted is just a general Zend Framework tutorial, and hasn't been updated past ZF 1.5.
Anyway, once you get started with Zend, this is a sample of the code you would use to receive an upload. The form doing the posting must have the correct file upload components.
//validate file
//for example, this checks there is exactly 1 file, it is a jpeg and is less than 512KB
$upload = new Zend_File_Transfer_Adapter_Http();
$upload->addValidator('Count', false, array('min' =>1, 'max' => 1))
->addValidator('IsImage', false, 'jpeg')
->addValidator('Size', false, array('max' => '512kB'))
->setDestination('/tmp');
if (!$upload->isValid())
{
throw new Exception('Bad image data: '.implode(',', $upload->getMessages()));
}
try {
$upload->receive();
}
catch (Zend_File_Transfer_Exception $e)
{
throw new Exception('Bad image data: '.$e->getMessage());
}
//then process your file, it's path is found by calling $upload->getFilename()
Pax
2009-04-26 14:20:38
+2
A:
Don't forget to set the enctype
attribute of the form to "multipart/form-data
". If you are using Zend_Form, call
$form->setAttrib('enctype', 'multipart/form-data');
Also note that Zend_Form::setDestination
is deprecated, use the rename filter for that:
// Deprecated:
// $upload->setDestination('/tmp');
// New method:
$upload->addFilter('Rename', '/tmp');
chiborg
2009-07-08 19:06:52