Bonjour,
Voici le code qui génère mon fichier PDF :
J'ai l'erreur suivante :
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(); ?>
C'est depuis que j'ai convertis mon fichier en UTF-8, étrange...FPDF error: Some data has already been output, can't send PDF file
A priori, c'est à cause du include :
Car quand je place en début de fichier ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part include('configuration.php');
J'ai le warning suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part ob_end_clean();
Voici mon fichier inclus :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
Pourriez-vous m'aider à trouver ce qui provoque ce problème ?
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/'); ?>
EDIT du 01/03/2010 à 13h03 :
J'ai essayé avec un fichier configuration2.php créé pour l'occasion avec :
Ça ne fonctionne pas mieux! J'ai exactement la même erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php define('PATH_FPDF','FPDF v1.6/'); ?>
EDIT du 01/03/2010 à 14h33 :
Voici un code simplifié qui marche seulement si je mets ob_end_clean() :
Pourquoi suis-je obligé de mettre ce ob_end_clean() et que ça ne marche pas sans ?
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(); ?>
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
Et l'erreur :
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(); ?>
Pourquoi cette erreur, dans un seul fichier, je ne comprends pas...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
Merci,
ZiP
Partager