Потоковое изображение PHP в Joomla с MVC - PullRequest
1 голос
/ 03 августа 2011

Здравствуйте, у меня есть проблема, из-за которой я немного озадачен!

Я пытаюсь реализовать потоковую передачу изображений внутри компонента joomla.Папка «Изображение» используется несколькими сайтами на сервере вне виртуального хоста, поэтому к ней нельзя получить прямой доступ с сайта.

Я попробовал следующее, которое работает:

testfile.php

<img src="testImgGen.php" />

testImgGen.php

?php
$im = imagecreatefrompng("c:xampp/htdocs/docs/images/282/Img1.png");
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
exit; 
?>

Это прекрасно работает

, поэтому попытка реализовать внутри компонента Joomla: ссылка src изнутри:

"<img src='?option=com_cat&view=item&task=prevIMG&tmpl=Component&fid=282&file=Img1.png' />"

внутри контроллера:

function prevIMG(){
require_once(JPATH_COMPONENT.DS.'models'.DS.'details.php');
$model=new CatModelCat_details ;
$model->prevImg();
}

Внутри модели:

function prevImg(){
    $doc =& JFactory::getDocument();
    $doc->setMimeEncoding('image/png');
    $img = "C:xampp/htdocs/docs/images/".$_GET[fid]."/".$_GET[file];
    $im = imagecreatefrompng($img);
    imagepng($im);
    imagedestroy($im);
        }

и это возвращается ... ничего я не пробовал readfile () / get_contents_fromfile () Я создал пустойШаблоны, которые не проходят через заголовки и используют "header ('Content-Type: image / png');"Я начинаю добираться до головного убора против настольной сцены!
, если у кого-нибудь есть какие-либо советы / если бы я был рад услышать это!

Мне иногда приходилось выводить изображение в виде строки!или меня "интерпретируют как документ с изображением типа mime" или "интерпретируют как изображение с тестом типа mime / html"

Cheers

Kiran

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Вам нужно использовать параметр «raw» для запроса компонента. Быстрый поиск в Google нашел этот учебник. http://blog.joomlatools.eu/2008/01/joomla-15-generating-raw-ouput.html

0 голосов
/ 09 августа 2011

Вы должны убедиться, что в коде нет ошибок. В случае возникновения ошибки и включения php-error-report, PHP может добавлять текст ошибки к вашему выводу png. В таком случае браузер принимает его как текстовый файл, а не как файл изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...