Usiluje wyswietlic obraz zapisany w bazie danych. W tym celu stworzylem sobie akcje w kontrolerze ktora z wywolania przyjmuje serie parametrow i dalej wyrzuca z headera obraz.
Akcja wyrzucania obrazu
public function imgAction() { if ($this -> getRequest() -> isGet()) { $requestGet = $this -> getRequest(); $id = $this -> _fernet -> decode($clear[0]); $this -> _GalleryImg = new Application_Model_DbTable_GalleryImg(); $this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(); if($requestGet -> tp == 'b') { $this->getResponse()->setHeader('Content-Type', 'image/jpg')->setBody($arrImg[0]['bimg'])->sendResponse(); } else { $this->getResponse()->setHeader('Content-Type', 'image/jpg')->setBody($arrImg[0]['simg'])->sendResponse(); } } else { $this -> _helper -> redirector('listimg', 'gallery'); } } }
W nastepnym kroku w "jakiejs tam innej akcji" tego samego kontrolera budowany jest atrybut src elementu 'img' i dalej caly ciąg html elementu img
$big = $this->view->baseUrl('gallery/img?tp=b&imid='.$requestGet -> id.'.jpg'); $this->view->img = '<img class="imEdit" src="'.$big.'" alt="Obraz"> ';
Na koniec view "jakiejs tam innej akcji" z odczytaniem stringa
<?php echo $this->img ?>
I wszystko dobrze smiga do momentu w ktorym prubuje w jednej akcji wyswietlic dwa rozne zdjecia
Akcja
$big = $this->view->baseUrl('gallery/img?tp=b&imid='.$requestGet -> id.'.jpg'); $sm = $this->view->baseUrl('gallery/img?tp=s&imid='.$requestGet -> id.'.jpg'); $this->view->img = '<img class="imEdit" src="'.$big.'" alt="Smiley face"> '; $this->view->imgMin = '<img class="imEditx" src="'.$sm.'" alt="Smiley face"> ';
View
<?php echo $this->img ?> <?php echo $this->imgMin ?>
Po tym wywolaniu żadne ze zdjec nie drukuje sie na stronie natomiast osbne wywolania w przegladarce z wartosci na jakie wsakuzje atrybut src koncza sie sukcesem
http://bzium.local/gallery/img?tp=b&im...PDsEcMJlmM8.jpg
http://bzium.local/gallery/img?tp=s&im...PDsEcMJlmM8.jpg
Rausumujac nie moge sobie poradzic z wydrukowaniem kilku zdjec zczytywanych z bazy danych w jednej akcji a podejscie jakei udalo mi sie wypancykowac sprawdza sie tylko w sytuacji w ktorej chce wyswietlic jedno zdjecie.
Za pomoc i zainteresownie z gory dziekuje i pozdrawiam.