PHP的GD:图像无法显示,因为它包含错误(php gd : image cannot be dis

2019-09-16 17:24发布

我很恼火,出现此错误:

如果我注释掉

require_once'../class/myclass.class.php'; 

被显示的图像。 如果我取消注释我排队叫号myclass.class.php,我有这样的消息:

"The image "http://..." cannot be displayed because it contains errors."

我的代码很简单:

myclass.class.php:

<?php    
class myclass {
  public function getPanelData( $model ){
    $aFieldsData = array(
      'PAN35'=>array(
        'col'=>1,
        'row'=>3,
        'v-font'=>10,
        'v-marge-top'=>0,
        'v-marge-right'=>1,
        'v-marge-bottom'=>0,
        'v-marge-left'=>1
      )
    );
    if( key_exists($model, $aFieldsData) )
      return $aFieldsData[$model];
    else
      return false;
    }
  }
?>

img.inc.php:

<?php
  session_start();
  require_once('myfunctions.inc.php');
  require_once('../class/myclass.class.php');
  $oData = new myclass();
  header('Content-Type: image/png');
  $sPanelModel = $_SESSION['produit'];
  $sEtiquette = '../img/etiquettes/label_'.$sPanelModel.'_preview.png';
  $rImg = imagecreatefrompng($sEtiquette);
  imagepng($rImg);
  imagedestroy($rImg);
?>

注:此代码的工作,如果我require_once调用myclass.class.php评论。 调用functions.inc.php作品(只有少数功能)。

tree :
/
 + class
   + myclass.class.php
 + inc
   + functions.inc.php
   + img.inc.php
 + images
   + etiquettes

Answer 1:

如果这是真的,它的工作原理是在取消对需要()为myclass.class.php,那么最可能的原因是该文件包含前空行(空白) <?php或之后?> 。 这会在你的头()语句添加ASCII字符图像的输出,或插入一个PHP错误信息(头无法发送),因此弄乱你的文件。 然而,正如我在我的评论中提到,如果你唯一的目的就是输出,而不是创建一个图像实例,你可以使用ReadFile的图片()。 希望帮助,斯特凡



文章来源: php gd : image cannot be displayed because it contains errors
标签: php gd