FPDF - Output()

Petit nouveau ! | 2 Messages

27 févr. 2007, 17:21

J'ai réalisé un script avec la classe fpdf.

Cependant, j'ai deux problèmes auxquels je n'ai pas trouvé de solution :

1 - est-il possible de placer le fichier pdf ailleurs que dans le répertoire où se trouve le script qui le génère ?

2 - lors de la récupération d'enregistrements (base MySQL) avec des caractères accentués, le script stoppe et renvoi le message "FPDF error: Unable to create output file: 0702271612007 justificatif de paiement 040500451 XXXXXXXX Marie-Thérèse.pdf". Y-a-t'il un moyen de solutionner ce problème ?

Pour info l'appel de la fonction : $pdf->Output(date(ymdHi).$row['CODEUTILISATEUR'].' justificatif de paiement '.$row['FACTURE'].' '.$row['NOM'].' '.$row['PRENOM'].'.pdf');

Eléphant du PHP | 136 Messages

28 févr. 2007, 09:34

pour enregistrer dans un autre repertoire, pas de pb en utilisant les chemins relatifs
$pdf->Output("../autreRep/monfichier.pdf","I");
en ce qui concerne ton code il manque le type de sortie D, F ou I
d'autre part le cumul de variables en définition de fichier peut poser problème avec les intervalles dans les noms ou prénoms .
fais un simple print pour voir si l'intégralité du nom de fichier est restitiuée.
essaies avec des double quotes au lieu des simples.
L'informatique apporte des solutions à des problèmes qui ne se posaient pas avant qu'elle existe.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 mars 2007, 11:49

Pour créer les PDFs dans un autre répertoire : vérifie les droits d'écriture de PHP sur le répertoire.

Par ailleurs, je ne te recommande pas du tout l'emploi de caractères accentués et d'espaces dans le nom des fichiers...
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Petit nouveau ! | 2 Messages

01 mars 2007, 23:42

Super ça marche.

Merci.

L'utilisation des variables ne pose pas de problème à l'exception, pour l'instant, des accents.

Tout le monde n'a pas forcément le bon goût d'avoir un prénom sans accent, comme je ne sais pas par exemple ... au hasard : Sarah.

Si je veux pouvoir récupérer le prenom je suppose qu'il faudrait traiter les caractères en les transposant. Il ne me manque que la méthode.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

02 mars 2007, 18:37

Au hasard, jean-pierre.pdf peut convenir :)
Je parle de nom de fichier, en fait, pas de prénom alors "justificatif de paiement" en web, c'est pas top.
Pour transformer les caractères, tu repiques la fonction proposée pour épurer les noms de fichiers dans le tuto sur le file upload...et le tour est joué.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 mars 2007, 19:21

Portant un nom qui s'écrit normalement avec un trema, je peut t'assurer qu'il reste lisible sans.

Et que "Marie-Therese.pdf" est aussi lisible que "Marie-Thérèse.pdf"

Mais comme le dit mere-teresa, la solution a déjà été donnée
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer