Я очень раздражен с этой ошибкой:PHP Б-гу: изображение не может быть отображено, поскольку он содержит ошибки
Если я закомментируйте
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 ча lling myclass.class.php. Вызов функций .inc.php работает (всего несколько функций).
tree :
/
+ class
+ myclass.class.php
+ inc
+ functions.inc.php
+ img.inc.php
+ images
+ etiquettes
Я действительно не понимаю, чего вы пытаетесь достичь - почему вы даже используете imagecreatefrompng(), когда вы просто выводите одно и то же изображение? Вы можете просто доставить его, используя readfile(). Я думаю, что вы еще что-нибудь сделаете с вашим ressource изображения ... Если он работает, когда вы комментируете объявление «require», я подозреваю, что у вас может быть несколько объявлений «myclass», или что в самом файле есть пустая строка после?>, таким образом выводя пробелы. Возможно, вам захочется взглянуть еще раз. – ExternalUse
Привет, спасибо за ваш ответ. Этот код является началом, я сделал шаг за шагом, чтобы убедиться в моем коде. Позже я сделаю несколько циклов, чтобы заполнить это первое изображение. – Niwan
Следите за сообщениями об ошибках PHP, особенно с 5.4. Ошибка не будет напечатана на экране, но будет вызывать ошибку с изображением. Попробуйте 'error_reporting (0);' в верхней части вашего кода, работал на меня. – Chaoley