следующего кода в действии:Rendering изображения с Zend Framework 1
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$image = ...
$this->getResponse()->setHeader('Content-type', 'image/png');
imagepng($image);
imagedestroy($image);
Это создает разбитое изображение на сервере, но отлично работает на локальном хосте.
Даже этот код в действии создает разбитое изображение:
header("Content-Type: image/png");
echo file_get_contents('.../test.png');
Также я пытался поставить эти 2 строки:
- в index.php: он отлично работает
- в Zend_Controller_Action: ответ на неисправное изображение
Какой сервер содержимого возвращается? Вы можете посмотреть в инструментах разработчика -> network -> request. Возможно, сервер возвращает ошибку + изображение, поэтому браузер не может его отобразить. –
@MaxP. нет ошибок в ответе: Код состояния: 200 OK, Content-Type: image/png –
Нет, я имею в виду контент. Сохраните ответ на диск и откройте его с помощью любого редактора. Посмотрите, содержит ли он только двоичные данные. –