从php文件回显字节数组作为图像src

时间:2017-03-27 12:27:44

标签: php arrays

我有一个index.php文件,其中包含:

<img src="photo.php" />

photo.php

header("Content-type: image/jpg");
$result = base64_encode($arr['FOTO']);
echo "data:image/jpg;base64,$result" // 1

//echo "<img src='data:image/jpg;base64,$result' />"; // 2

代码不起作用,有人可以解释原因吗?当我对该行1发表评论并取消注释该行2并直接请求photo.php时,会显示该图片。

1 个答案:

答案 0 :(得分:1)

你可以在photo.php中输出文件内容,而不用base64_encoding它。

echo $arr['FOTO'];

这只有当包含在另一个页面上的标签中时才会起作用,当直接调用时,你可能只会看到一些乱码。这可以通过设置正确的Content-Type标头来修复:

Header('Content-Type: image/png'); // (Or image/jpeg, image/gif etc.)
echo $arr['FOTO'];

或者你可以直接在index.php中输出它,因为你有可用的数据:

<img src='data:image/jpg;base64,$result' />