PHP - 将HTML附加到Image / Jpeg响应

时间:2015-04-01 12:50:04

标签: php html mongodb

以下代码:

if($file = $mongoGridFS->findOne(array('_id' => new MongoId($fileId)))) 
{
    $fileName = $file->file['filename'];
    $fileBytes = $file->getBytes();
    header('Content-type: image/jpeg');
    header("Content-Length: " . strlen($fileBytes));
    ob_clean();
    echo $fileBytes;
}

将Mongo的响应作为.jpg文件返回。

如何将此回复包含在某些HTML中?例如

<div id='container'>
  <img ... /> <!-- image generated by script and stored in $fileBytes -->
  <br>
  <span class='description'>This is image</span>
</div>

我不希望<img src='...'>链接到文件系统上的已保存文件。

这可能吗?

1 个答案:

答案 0 :(得分:1)

您无法在同一个http响应中返回两个资源。您可以做的是内联图像数据(有关浏览器兼容性和内嵌图像的其他可能问题的更多详细信息,请参阅Embedding Base64 Images)。类似的东西:

<img src="data:image/jpeg;base64,<?=base64_encode($fileBytes)?>" />