【发布时间】:2013-06-03 16:32:32
【问题描述】:
我有一种用 php 编写的控制器 http://samplesite.com/application/getimage。它是一个简单的脚本,用一些参数响应 GET。根据这些参数,我在数据库中找到了一个图像(图像作为 BLOB 存储在那里),我将其返回如下:
header("Content-type: image/jpeg");
echo $image;
$image 是从数据库中获取的图像的 BLOB。
当我打开此 URL http://samplesite.com/application/getimage/?id=200 时,我的网络浏览器会显示一个图像。
现在我想在另一个 php 脚本的表格中显示这个图像。我想像
echo "<img src="http://mysite.com/application/getimage/?id=200" ...some params here... />";
但是 这种方法行不通。它不显示图像或产生其他问题。
我应该选择什么方法来完成这项工作?我是 php 新手,通常使用 Java EE。非常感谢。
编辑: 当然里面应该有 echo \" 而不仅仅是 ".但是我在这里写的这种方法效果很好。问题出在语法上,我有一个额外的)。
【问题讨论】:
-
使用 return 而不是 echo 可能是第一步。
-
您需要转义要回显的字符串中的
"语音标记,例如echo "<img src=\"http.... -
@sjmarshy:或者……不是?那是行不通的。
-
@Reshi:我的答案有效,我知道,我正在使用它。
-
@Pudge601 使用
'作为字符串分隔符可能更容易,必要时使用连接(.)。不过,我更喜欢模板方法,non-PHP code <?php echo htmlspecialchars($value); ?> non-PHP code,因为它保留了语法高亮和大纲视图的标记。从 PHP 5.4 开始,它可以毫无问题地编写为<?= htmlspecialchar($value); ?>。 PHP manual 也推荐它。更安全的htmlspecialchars()具有正确的字符编码,可以使用模板引擎或 MVC 方法自动化。