I want to upload an image with Zend Framework version 1.9.6. The uploading itself works fine, but I want a couple of other things as well ... and I'm completely stuck.

  • Error messages for failing to upload an image won't show up.
  • If a user doesn't enter all the required fields but has uploaded an image then I want to display the uploaded image in my form. Either as an image or as a link to the image. Just some form of feedback to the user.
  • I want to use Zend_ Validate_ File_ IsImage. But it doesn't seem to do anything.
  • And lastly; is there some automatic renaming functionality?

All ideas and suggestions are very welcome. I've been struggling for two days now.

These are simplified code snippets:

myform.ini

method = "post"

elements.title.type = "text"
elements.title.options.label = "Title"
elements.title.options.attribs.size = 40
elements.title.options.required = true

elements.image.type = "file"
elements.image.options.label = "Image"
elements.image.options.validators.isimage.validator = "IsImage"

elements.submit.type = "submit"
elements.submit.options.label = "Save"

TestController

<?php
class Admin_TestController extends Zend_Controller_Action
{
  public function testAction ()
  {
    $config = new Zend_Config_Ini(MY_SECRET_PATH . 'myform.ini');
    $f = new Zend_Form($config);

    if ($this->_request->isPost())
    {
      $data = $this->_request->getPost();

      $imageElement = $f->getElement('image');
      $imageElement->receive();

      //$imageElement->getValue();

      if ($f->isValid($data))
      {
        //save data
        $this->_redirect('/admin');
      }

      else
      {
        $f->populate($data);
      }
    }

    $this->view->form = $f;
  }
}
?>

My view just echo's the 'form' variable.

Edit
Report