Pour l'erreur j'ai trouvé, mon serveur ne trouvait pas le fichier
arial.ttf pour la fonction i
magettftext.
Et pour répondre a TicTac ma fonction renvoi un graphique avec un diagramme circulaire
Parcontre j'ai un gros problème !
J'obtient une image de 600x400px mais avec une croix rouge à la pace de mon graphique !
Et quand je fait le
ini_get() j'ai aucune erreur.
<?php echo ini_get('error_log'); ?>
j'ai créé un librairie avec une multitude de classes donc je passe par un fichier qui me les rassemble toutes, mais quand je passe par se fichier ça plante il me dit qu'il ne trouve pas la classe !
Ma classe
Lea.Stat.class.php :
<?php
class LeaStat {
/* Size of Image */
Private $idimg;
Private $Frame = 20;
Private $WidthImg;
Private $HeightImg;
Private $BG_Color = array();
Private $Text_Size;
Private $BlackColor;
Public $Title_Police = 'arial.ttf';
Public $Title_Size = 30;
Public $Title_Color = array();
Public $Text_Police = 'arial.ttf';
Public $Text_Color = array();
Public $Pie_Size = 250;
Public $Pie_Thickness = 50;
Public $Rect_Size = 10;
Public $Rect_Step = 25;
Public function __construct() {
$this->Text_Color = $this->RGBcolor(0, 0, 0);
$this->Title_Color = $this->RGBcolor(0, 0, 0);
}
/**
* This function return an array of RGB color.
*
* @param Integer $Red
* @param Integer $Green
* @param Integer $Blue
* @return Array
*/
Public function RGBcolor($Red, $Green, $Blue) {
return array('R' => $Red, 'G' => $Green, 'B' => $Blue);
}
/**
* This function define de background color.
*
* @param Array $BackGroundColor
*/
Public function BackGroundColor($Red, $Green, $Blue) {
$this->BG_Color = $this->RGBcolor($Red, $Green, $Blue);
}
Private function CreateBackground($WidthImg, $HeightImg) {
$this->WidthImg = $WidthImg;
$this->HeightImg = $HeightImg;
$this->idimg = imagecreate($this->WidthImg, $this->HeightImg);
$Background = imagecolorallocate($this->idimg, $this->BG_Color['R'], $this->BG_Color['G'], $this->BG_Color['B']);
$this->BlackColor = imagecolorallocate($this->idimg, 0, 0, 0);
}
Public function Pie($Title, $DefArray, $DataArray, $PourcentType = true, $DimEffect = true) {
//...........................................
//...........................................
//.................................
}
}
?>
Le fichier
Lea.Config.php :
<?php
/* Language */
define('LANG', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
/* Folder Path */
define('HTTP_HOST', $_SERVER['HTTP_HOST']);
define('ROOT', $_SERVER['DOCUMENT_ROOT']);
define('FOLDER_PARENT', '');
define('FOLDER_LIB', 'Lib/');
define('FOLDER_CLASS', 'Class/');
define('FOLDER_CONFIG', 'Config/');
define('FOLDER_JAVA', 'Java/');
define('FOLDER_TEMPLATE', 'Templates/');
define('FOLDER_LANG', 'Languages/');
define('FOLDER_FONTS', 'Fonts/');
?>
Mon fichier
lea.php du dossier
Lib/ :
<?php
/* Define the constant */
require_once 'Lea.Config.php'; // Loading of file configuration.
/* Require the headers */
require_once FOLDER_CONFIG.'Lea.Init.php'; // PHP Initialization.
/* Loading of language file */
if(file_exists(FOLDER_PARENT.FOLDER_LIB.FOLDER_LANG.'Lea.Lang.'.LANG.'.php')) {
require_once FOLDER_LANG.'Lea.Lang.'.LANG.'.php';
$GLOBALS['lang'] = $lang;
} else {
require_once FOLDER_LANG.'Lea.Lang.eng.php';
$GLOBALS['lang'] = $lang;
}
/* Require the class */
require_once FOLDER_CLASS.'Lea.Connect.class.php'; // Class MySQL connection.
require_once FOLDER_CLASS.'Lea.String.class.php'; // Class String processing.
require_once FOLDER_CLASS.'Lea.Template.class.php'; // Class Templates engine.
require_once FOLDER_CLASS.'Lea.Session.class.php'; // Class Sessions processing.
require_once FOLDER_CLASS.'Lea.Cookies.class.php'; // Class Cookies processing.
require_once FOLDER_CLASS.'Lea.Auth.class.php'; // Class Authentification processing.
require_once FOLDER_CLASS.'Lea.Text.class.php'; // Class Text processing.
require_once FOLDER_CLASS.'Lea.Image.class.php'; // Class Image processing.
require_once FOLDER_CLASS.'Lea.Search.class.php'; // Class Search processing.
require_once FOLDER_CLASS.'Lea.Account.class.php'; // Class Account processing.
require_once FOLDER_CLASS.'Lea.Date.class.php'; // Class Calendar processing.
require_once FOLDER_CLASS.'Lea.Mail.class.php'; // Class Mail processing.
require_once FOLDER_CLASS.'Lea.Stat.class.php'; // Class Stat processing.
/* Print informations library */
$LeaTemplate = new LeaTemplate(FOLDER_PARENT.FOLDER_LIB.FOLDER_TEMPLATE);
$LeaTemplate->SetFile("Infos", "Lea.Infos.tpl");
$LeaTemplate->ParseDisplay("Infos");
?>
Ma page qui appel
la librairie et ou je
créé mon objet :
<?php
// Avec ce chemin ci ça fonctionne :
// require_once 'Lib/Class/Lea.Stat.class.php';
// Mais pas avec celui-ci :
require_once 'Lib/Lea.php';
$Def = array('Hewlett-Packard', 'Packard Bell', 'Dell', 'Acer', 'Fujitsu Siemens', 'Autres');
$Data = array(17.80, 13.90, 12.40, 12.10, 6.00, 38.00);
$Title = 'Etude du marché français de la micro-informatique';
/* Object creating */
$Pie = new LeaStat();
$Pie->BackGroundColor(240, 240, 255);
$Pie->Title_Size = 15;
$Pie->Title_Color = $Pie->RGBcolor(0, 0, 0);
$Pie->Pie($Title, $Def, $Data);
?>