Création de plusieurs pdf avec FPDF dans une boucle

Eléphant du PHP | 337 Messages

06 juin 2020, 02:41

Bonjour à tous,

J'ai un script assez long qui me crée des pdf, et qui fonctionne très bien pour créer 1 pdf.
Mais dès que j'intègre ce script (je l'appelle en include) dans une boucle, je n'ai qu'un seul PDF de créé...

J'ai lu des trucs qui disent que la commande $PDF -> Output() doit être placée à l'extérieur de la boucle, mais je comprends pas bien pourquoi, et de plus cette commande me permet de nommer le fichier créé, en fonction des infos variables de la boucle. Je ne peux donc pas placer cet Output en dehors.

Quelqu'un a-t-il une piste ?

Merci pour votre aide

La portion qui appelle le fichier de création :

Code : Tout sélectionner

foreach($tableau as $key => $_ID) { $fiche = "../FichesExpedition/".$_ID.".pdf"; if(!file_exists($fiche)) include("_inc.ficheexpedition.php"); }
Et le fichier _inc.ficheexpedition.php :

Code : Tout sélectionner

include("../Pdf/_inc.phpToPDF_1.php"); $PDF = new FPDF(); /* ...des tas de commandes pour mettre en page mon PDF */ // Génération du nom de fichier $fichier = $_ID.".pdf"; // Création du pdf $PDF -> Output("../FichesExpedition/".$fichier, "F");

Mammouth du PHP | 1967 Messages

08 juin 2020, 08:34

utilise plutot une fonction que un include fait plusieurs fois.

tu aurras moins de risque de conflit de variable par un meilleur controle de leur portée.

surtout que du coup tu inclus à chaque fois ton 2ème script ../Pdf/_inc.phpToPDF_1.php
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube