PHP中输出缓冲区的临时标头

PHP中输出缓冲区的临时标头,php,binary-data,output-buffering,Php,Binary Data,Output Buffering,我把二进制数据转换成JPEG。PHP在这方面很酷,因为我只需要发送标题“Content-Type:image/jpeg;”;并回显我的二进制文件 但我在二进制文件上面有这样的内容: echo 123; header('Content-Type: image/jpeg;'); $data = hex2bin($CmnObiektZalacznik[0]->Binaria); echo $data; 它当然会发出警告:无法修改标题信息-标题已经由发送,所以我认为它的标题和二进制JPEG可以输

我把二进制数据转换成JPEG。PHP在这方面很酷,因为我只需要发送标题“Content-Type:image/jpeg;”;并回显我的二进制文件

但我在二进制文件上面有这样的内容:

echo 123;
header('Content-Type: image/jpeg;');
$data = hex2bin($CmnObiektZalacznik[0]->Binaria);
echo $data;
它当然会发出警告:无法修改标题信息-标题已经由发送,所以我认为它的标题和二进制JPEG可以输出到临时缓冲区,类似这样:

echo 123;
ob_start();
header('Content-Type: image/jpeg;');
$data = hex2bin($CmnObiektZalacznik[0]->Binaria);
echo $data;
ob_end_flush();

但我能做到吗

“临时缓冲区”的用途是什么?一个http请求-一种内容类型,那么这个缓冲区将如何帮助您呢?您可以从头开始缓冲并防止echo 123;。您可以将二进制内容保存到临时文件中,并在另一个请求期间读取它。我想将二进制文件转换为JPEG,并将其作为HTML标记动态回显一个请求,一种内容类型。文本和图像之间没有混合。如果图像很小,可以在html页面内使用数据URI。否则,img标签应该发出一个单独的http请求来获取图像。如何称为“小图像”取决于您。估计增加的页面大小和对服务器的单独请求之间的差异。ps:是的,IE8有32KB的base64编码二进制数据的限制。不包括分号;在您的内容类型中,图像/jpeg的标题值。