生成条形码图像时,PHP无法设置HTTP标头

时间:2018-01-09 10:04:02

标签: php http-headers barcode

我正在使用编辑器包Piceq\Barcode来生成条形码图像。我只是通过简单的测试代码开始使用它:

$barCode = new Picqer\Barcode\BarcodeGeneratorPNG();
$barCode = $barCode->getBarcode($inputs['code'], $barCode::TYPE_CODE_128);

ob_clean();
header('Content-Type: image/png');
echo $barCode;

$barCode的内容类似于生成图像的二进制内容。问题是它以text / html的形式发送到浏览器。我错过了什么,以至于HTTP标头设置不正确?

1 个答案:

答案 0 :(得分:0)

我不确定原因是什么,但问题原因是造成问题的echo。将echo更改为die()可以解决问题。

这是工作代码。

$barCode = new Picqer\Barcode\BarcodeGeneratorPNG();
$barCode = $barCode->getBarcode($inputs['code'], $barCode::TYPE_CODE_128);

header('Content-Type: image/png');
die($barCode);