【发布时间】:2011-08-03 08:55:44
【问题描述】:
你好,我有一个问题让我有点难过!
我正在尝试在 joomla 组件中实现图像流。 Image 文件夹由虚拟主机之外的服务器上的多个站点共享,因此无法直接从该站点访问。
我尝试了以下方法:
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');”
我开始进入 bash head against 桌面阶段!
如果有人有任何建议/如果我很高兴听到它!
我偶尔会将图像输出为字符串!或者我得到“解释为具有 mime 类型图像的文档”或“解释为具有 mime 类型 test/html 的图像”
干杯
基兰
【问题讨论】:
-
尝试转到 url
index.php?option=com_cat&view=item&task=prevIMG&tmpl=Component&fid=282&file=Img1.png并告诉答案 -
在 joomla 框架中你有什么需要它的原因吗?我的意思是,你当然需要保护它,但仅仅使用 joomla!-index.php 不会更安全。
-
看看我所说的“保护”是什么意思:如果有人输入:
?fid=../../../../My Images&file=photo.jpg,会发生什么? -
Subdigger: 直接到 URL :- 存在空白图像页面或将图像输出为字符串 "�PNG IHDR��M$mo IDATx���w|\յ���}�" ...等
-
giraff:我想我明白你在说什么......如果我把整个东西放在模板中的一个新文件中,即 tmpl=image 并从那里运行它?
标签: php image model-view-controller joomla stream