Как отображать изображения с Zend? - PullRequest
0 голосов
/ 17 марта 2012

Пожалуйста, помогите, я в настоящее время учусь создавать сайт с Zend, но все еще не могу отображать изображения в view.phtml

Я написал на своем Form_PersonilCreate.php:

$this->setAction('/data/personil/create')
        ->setMethod('post');

    //Item input untuk gambar
    $images = new Zend_Form_Element_File('images');
    $images->setDestination(APPLICATION_PATH . "/../public/images/personil");
    $images->addValidator('Count', false, 1)
            ->addValidator('IsImage')
            ->addValidator('size', false, '204800')
            ->addValidator('Extension', false, 'jpg, png, gif, jpeg')
            ->addValidator('ImageSize', false, array(
                    'minwidth' => 150,
                    'minheight' => 150
                    ))
                    ->setValueDisabled(true);
    //Attach element kedalam form
    $this->addElement($images);

// Здесь указан другой код .....................

И в PersonilController.php

 public function createAction()
{
    $form = new Pengadilan_Form_PersonilCreate();
    $this->view->form = $form;
    $flashMessenger = $this->_helper->FlashMessenger;

    //SImpan kedatabase
    if($this->getRequest()->isPost()){
        if($form->isValid($this->getRequest()->getPost())){
            $personil = new Pengadilan_Model_Personil();
            $personil->fromArray($form->getValues());
            $personil->RecordDate = date('Y-m-d', mktime());
            $personil->DisplayStatus = 0;
            $personil->DisplayUntil = null;
            $personil->save();
            $id = $personil->RecordId;

            if ($form->images->isUploaded()){
                $form->images->receive();                   
                $personilImages = '/images/personil/' . basename($form->images->getFileName());

            }

// Другой код здесь .........

Изображения были успешно загружены в папку назначения, но я не понимаю, как отобразитьизображения на моем display.phtml

Я использую ZF 1.8 и Doctrine 1.2 Большое спасибо за вашу помощь ...

1 Ответ

0 голосов
/ 17 марта 2012

Если папка назначения находится под вашим веб-корнем (или есть символическая ссылка на папку под веб-корнем), то это просто что-то вроде этого в вашем display.phtml:

<img src="<?= $this->baseUrl() ?>/path/to/your/image.jpg" />

Однако, если адрес загрузки вне веб-корня, вам, вероятно, понадобится специальный контроллер для доступа к этим изображениям и их доставки.Поскольку это влечет за собой затраты всего цикла отправки MVC только для доставки изображения, оно обычно резервируется для тех случаев, когда вам необходимо контролировать доступ к загруженному изображению.

...