Bonjour
J'ai vu cette conversation aussi
Le but de mon code est d'ajouter une image dans un pdf préfait.
J'utilise FPDI.
Pour cela, je saisis une image dans un formulaire html classique, puis je le récupère avec $_FILESJe teste l’existence de mon image comme ceci :
Pourquoi y a t-il des caractères après l'extension? (.png)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $image = tempnam(sys_get_temp_dir(), $_FILES["fichier"]["name"]); if (!file_exists($image)) { var_dump("Erreur 22.01 : le fichier n'existe pas"); die(); } var_dump( $image); //me retourne string(53) "/tmp/Capture décran_2022-02-03_09-06-11.png1JCvjg" die();
Je passe outre, et je continue mon code:
Là, j'ai une erreur dans le log php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $pdf = new Fpdi(); $pdf->AddPage(); $pdf->setSourceFile('a.pdf'); $page = $pdf->importPage(1); $pdf->useTemplate($page); $pdf->Image($image,10,10,-300);
Cette erreur renvoie à cette ligne $pdf->Image($image,10,10,-300);Je comprends le message d'erreur.PHP Fatal error: Uncaught Exception: FPDF error: Unsupported image type: pngtxvkeq in /var/www/html/StatArbitrage/fpdf/fpdf.php:271\nStack trace:\n#0 /var/www/html/StatArbitrage/fpdf/fpdf.php(884): FPDF->Error()\n#1 /var/www/html/StatArbitrage/rapport_generateur/generateur.inc.php(103): FPDF->Image()\n#2 {main}\n thrown in /var/www/html/StatArbitrage/fpdf/fpdf.php on line 271, referer: http://localhost/StatArbitrage/rapport_generateur.html
J'ai fait un test avec un lien"en dur' et tout fonctionne bien, l'image est bien incluse
$pdf->Image("/home/.../Téléchargements/Capture décran_2022-02-03_09-06-11.png",10,10,-300);Du coup, j'ai essayé ceci :
mais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $image = tempnam(sys_get_temp_dir(), $_FILES["fichier"]["name"]); if (!file_exists($image)) { var_dump("Erreur 22.01 : le fichier n'existe pas"); die(); } $image = substr($image, 0, -6); $pdf->Image($image,10,10,-300);
J'avoue que je sèche. D'où vient ce problème d'ecodage?PHP Fatal error: Uncaught Exception: FPDF error: Can't open image file: /tmp/Capture d\xe2\x80\x99\xc3\xa9cran_2022-02-03_09-06-11.png in /var/www/html/StatArbitrage/fpdf/fpdf.php:271\nStack trace:\n#0 /var/www/html/StatArbitrage/fpdf/fpdf.php(1261): FPDF->Error()\n#1 /var/www/html/StatArbitrage/fpdf/fpdf.php(885): FPDF->_parsepng()\n#2 /var/www/html/StatArbitrage/rapport_generateur/generateur.inc.php(101): FPDF->Image()\n#3 {main}\n thrown in /var/www/html/StatArbitrage/fpdf/fpdf.php on line 271, referer: http://localhost/StatArbitrage/rapport_generateur.html
Pour tester, j'ai supprimé tous les caractères type "'" et "é", mais même problème
Merci d'avance.PHP Fatal error: Uncaught Exception: FPDF error: Can't open image file: /tmp/Capture decran_2022-02-03_09-06-11.png in /var/www/html/StatArbitrage/fpdf/fpdf.php:271\nStack trace:\n#0 /var/www/html/StatArbitrage/fpdf/fpdf.php(1261): FPDF->Error()\n#1 /var/www/html/StatArbitrage/fpdf/fpdf.php(885): FPDF->_parsepng()\n#2 /var/www/html/StatArbitrage/rapport_generateur/generateur.inc.php(102): FPDF->Image()\n#3 {main}\n thrown in /var/www/html/StatArbitrage/fpdf/fpdf.php on line 271, referer: http://localhost/StatArbitrage/rapport_generateur.html
Partager