Как установить заголовок() и отобразить изображение с помощью CodeIgniter? ⇐ Php
-
Anonymous
Как установить заголовок() и отобразить изображение с помощью CodeIgniter?
Я написал метод, позволяющий установить заголовок() для соответствующего типа файла загрузки, хранящегося в базе данных, а затем я хотел бы выполнить echo() файл.
Внутри контроллера метод выглядит следующим образом:
function view_upload($id = 0) { $id = $this->db->escape($id); $query = $this->db->query( "ВЫБЕРИТЕ тип_файла ИЗ носителя, ГДЕ id = $id" )->row(); $query2 = $this->db->query( "ВЫБРАТЬ файл ИЗ носителя, ГДЕ id = $id" )->row(); header("Тип контента: ".$query->file_type); //умираем("муу"); эхо($query2->файл); } Как ни странно, как только я устанавливаю header(), остальная часть метода, кажется, игнорируется, например, если я раскомментирую оператор die(), он не умирает и не отображает изображение. Если я удалю вызов header(), я увижу на экране необработанный загружаемый объект.
Это как-то связано с CodeIgniter или я допустил ошибку PHP?
РЕДАКТИРОВАТЬ:
Я изменил функцию и поместил ее в отдельный файл вне CodeIgniter, но если я перейду к ней и передам $id, изображение все равно не отобразится...
die() для двух $result дает то, что я ожидал, но не отображает страницу в браузере. Опять же, если я добавлю ob_clean(), он скажет:
ob_clean() [ref.outcontrol]: не удалось удалить буфер. Нет буфера для удаления.
Я скопировал код отсюда: http://www.phpriot.com/articles/images-in-mysql/8, если это вообще помогает..
Я написал метод, позволяющий установить заголовок() для соответствующего типа файла загрузки, хранящегося в базе данных, а затем я хотел бы выполнить echo() файл.
Внутри контроллера метод выглядит следующим образом:
function view_upload($id = 0) { $id = $this->db->escape($id); $query = $this->db->query( "ВЫБЕРИТЕ тип_файла ИЗ носителя, ГДЕ id = $id" )->row(); $query2 = $this->db->query( "ВЫБРАТЬ файл ИЗ носителя, ГДЕ id = $id" )->row(); header("Тип контента: ".$query->file_type); //умираем("муу"); эхо($query2->файл); } Как ни странно, как только я устанавливаю header(), остальная часть метода, кажется, игнорируется, например, если я раскомментирую оператор die(), он не умирает и не отображает изображение. Если я удалю вызов header(), я увижу на экране необработанный загружаемый объект.
Это как-то связано с CodeIgniter или я допустил ошибку PHP?
РЕДАКТИРОВАТЬ:
Я изменил функцию и поместил ее в отдельный файл вне CodeIgniter, но если я перейду к ней и передам $id, изображение все равно не отобразится...
die() для двух $result дает то, что я ожидал, но не отображает страницу в браузере. Опять же, если я добавлю ob_clean(), он скажет:
ob_clean() [ref.outcontrol]: не удалось удалить буфер. Нет буфера для удаления.
Я скопировал код отсюда: http://www.phpriot.com/articles/images-in-mysql/8, если это вообще помогает..
Мобильная версия