Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MVC中的zend_条码_Php_Image_Zend Framework_Png_Barcode - Fatal编程技术网

Php MVC中的zend_条码

Php MVC中的zend_条码,php,image,zend-framework,png,barcode,Php,Image,Zend Framework,Png,Barcode,我只需要一个打印条形码图像的操作,但我无法在MVC中实现,我只需执行以下操作: public function barcodeAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); Zend_Barcode::render($_GET['barcodeType'], 'image', $_GET, $

我只需要一个打印条形码图像的操作,但我无法在MVC中实现,我只需执行以下操作:

public function barcodeAction() {
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();
    Zend_Barcode::render($_GET['barcodeType'], 'image', $_GET, $_GET);
}
但是当我打电话的时候

/barcode?barcodeType=code39&text=ZEND-FRAMEWORK
我刚刚得到: 无法显示图像,因为它有错误或类似错误,具体取决于浏览器。
谢谢

由于Zend_条形码发送的内容类型标题,您可能会收到一个无法看到的错误。确保已打开日志错误,并为日志配置了有效/可写的目标。通过这种方式,您可以检查错误日志,查看您通常会通过浏览器读取的任何内容


我对你的代码没有问题,我称之为url:在我的浏览器中,你的代码在IndexController中,我收到正确的图像

如果我放在一个视图中,我也有图像


米克尔

我知道这可能已经过时了,但当我遇到同样的问题时,我只是补充了一下

ob_clean();
在我的控制器中,现在我的操作如下所示

public function generateBarcodeAction() {
    ob_clean();
    $number = $this->params()->fromRoute('number');
    $barcodeOptions = array('text' => $number);
    $rendererOptions = array('imageType'=>'png');
    Barcode::render(
            'ean13', 'image', $barcodeOptions, $rendererOptions
    );
}

它工作起来很有魅力

谢谢,但是Zend_Barcode将内容类型正确地设置为image/png,正如您在中看到的,但这似乎只发生在MVC中,因为调用这一行:Zend_Barcode::render$_GET['barcodeType'],'image',$_GET,$_GET;在公用文件夹中的文件中工作就像一个符咒。。。正如你在书中看到的。谢谢您是否验证了错误输出设置?我提到内容类型是由Zend_条形码设置的,这意味着浏览器需要图像数据。如果PHP向浏览器发送一个字符串错误消息,浏览器会认为它是一个损坏的图像,它会引起你在你的问题中提到的消息,因为它期望的是基于内容类型而不是字符串数据的图像。您可以通过告诉PHP不要显示错误,而是将错误记录到一个文件中来纠正这一点。这样你就能知道发生了什么。见我的原始答案上面的链接