Bonjour,

Voici le code qui génère mon fichier PDF :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
	include('configuration.php');
	include(PATH_FPDF.'fpdf.php');
 
	$largeur 	= 143;
	$hauteur 	= 92;
	$espace 	= 37;
	$titre 		= 'JANVIER 2010';
	$type 		= '201001';
 
	class PDF extends FPDF
	{
		function Header()
		{
 
		}
		function Footer()
		{
			$this->SetY(-15);
			$this->SetFont('Arial','',8);
			$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
		}
	}
 
	$pdf = new PDF('P','mm','A4');
	$pdf->AliasNbPages();
 
	$pdf->AddPage();
	$pdf->SetFont('Arial','B',15);
	$pdf->Cell(80);
	$pdf->Cell(30,10,utf8_decode($titre),0,0,'C');
	$pdf->Image('../images/graphiques/'.$type.'-temperature.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-pointderosee.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-humidite.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-pression.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-ventvitesse.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-ventdirection.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-precipitation.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
 
	$pdf->Output();
?>
J'ai l'erreur suivante :
FPDF error: Some data has already been output, can't send PDF file
C'est depuis que j'ai convertis mon fichier en UTF-8, étrange...

A priori, c'est à cause du include :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
include('configuration.php');
Car quand je place en début de fichier ça :
J'ai le warning suivant :
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\site\php\configuration.php:1) in C:\wamp\www\site\php\FPDF v1.6\fpdf.php on line 1017
Voici mon fichier inclus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
	define('DB_HOST',					'localhost');
	define('DB_USER',					'root');
	define('DB_PASSWORD',				'');
	define('DB_NAME',					'base');
 
	define('ALTITUDE',					'127');
	define('COPYRIGHT',					'(C) 2008-2010 site');
 
	define('GRAPHIQUE_HAUTEUR',			'350');
	define('GRAPHIQUE_LARGEUR',			'540');
	define('GRAPHIQUE_TITRE',			'TITRE DU GRAPHIQUE');
	define('GRAPHIQUE_COULEUR_CLAIR',	'darkolivegreen3@0.4');
	define('GRAPHIQUE_COULEUR_FONCE',	'#458B00');
 
	define('PATH_GRAPHIQUES',			'C:\\wamp\\www\\site\\images\\graphiques\\');
	define('PATH_WEBCAM',				'C:\\wamp\\www\\site\\images\\webcam\\');
	define('PATH_CSV',					'C:\\wamp\\www\\site\\csv\\');
	define('PATH_PHP',					'C:\\wamp\\www\\site\\php\\');
	define('PATH_JPGRAPH',				'JPGraph v2.3.3/src/');
	define('PATH_FPDF',					'FPDF v1.6/');
?>
Pourriez-vous m'aider à trouver ce qui provoque ce problème ?

EDIT du 01/03/2010 à 13h03 :
J'ai essayé avec un fichier configuration2.php créé pour l'occasion avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php
	define('PATH_FPDF','FPDF v1.6/');
?>
Ça ne fonctionne pas mieux! J'ai exactement la même erreur...

EDIT du 01/03/2010 à 14h33 :
Voici un code simplifié qui marche seulement si je mets ob_end_clean() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
	ob_end_clean();
 
	//include('configuration.php');
	//include(PATH_FPDF.'fpdf.php');
	include('FPDF v1.6/fpdf.php');
 
	$largeur 	= 143;
	$hauteur 	= 92;
	$espace 	= 37;
	$titre 		= 'JANVIER 2010';
	$type 		= '201001';
 
	class PDF extends FPDF
	{
		function Header()
		{
 
		}
		function Footer()
		{
			$this->SetY(-15);
			$this->SetFont('Arial','',8);
			$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
		}
	}
 
	$pdf = new PDF('P','mm','A4');
	$pdf->AliasNbPages();
 
	$pdf->AddPage();
	$pdf->SetFont('Arial','B',15);
	$pdf->Cell(80);
	$pdf->Cell(30,10,utf8_decode('MÉTÉO DE BEAUVAL - '.$titre),0,0,'C');
	$pdf->Image('../images/graphiques/'.$type.'-temperature.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-pointderosee.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-humidite.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-pression.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-ventvitesse.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
	$pdf->Image('../images/graphiques/'.$type.'-ventdirection.png',(210-$largeur)/2,$espace*2+$hauteur,$largeur,$hauteur);
 
	$pdf->AddPage();
	$pdf->Image('../images/graphiques/'.$type.'-precipitation.png',(210-$largeur)/2,$espace,$largeur,$hauteur);
 
	$pdf->Output();
?>
Pourquoi suis-je obligé de mettre ce ob_end_clean() et que ça ne marche pas sans ?
Je précise que ça marche uniquement en local avec WAMP mais pas en ligne... En ligne, il m'affiche le warning et l'erreur FPDF.

EDIT du 01/03/2010 à 14h58 :
Voci le code du fichier : meteo-archives-201001-pdf.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
	include('/home/moi/sites/site/php/FPDF v1.6/fpdf.php');
	$pdf = new FPDF('P','mm','A4');
	$pdf->AddPage();
	$pdf->Output();
?>
Et l'erreur :
Warning: Cannot modify header information - headers already sent by (output started at /home/moi/sites/site/php/meteo-archives-201001-pdf.php:1) in /home/moi/sites/site/php/FPDF v1.6/fpdf.php on line 1017
FPDF error: Some data has already been output, can't send PDF file
Pourquoi cette erreur, dans un seul fichier, je ne comprends pas...

Merci,
ZiP