Je dois créer un fichier PDF avec la bibliothèque fpdf et l'enregistrer dans un champ BLOB dans ma base de données MySQL. Le problème est que lorsque j'essaie de récupérer le fichier dans le champ blob et de l'envoyer au navigateur pour le téléchargement, le fichier téléchargé est corrompu et ne s'affiche pas correctement.Enregistrer un PDF créé avec la bibliothèque FPDF php dans un champ BLOB
Le même fichier pdf est correctement affiché si je l'envoie immédiatement au navigateur sans le stocker dans la base de données, il semble donc que certaines données sont corrompues quand il est inséré dans la base de données.
Mon code est quelque chose comme ceci:
$pdf = new MyPDF(); //class that extends FPDF and create te pdf file
$content = $pdf->Output("", "S"); //return the pdf file content as string
$sql = "insert into mytable(myblobfield) values('".addslashes($content)."')";
mysql_query($sql);
pour stocker le pdf, et comme celui-ci:
$sql = "select myblobfield from mytable where id = '1'";
$result = mysql_query($sql);
$rs = mysql_fetch_assoc($result);
$content = stripslashes($rs['myblobfield']);
header('Content-Type: application/pdf');
header("Content-Length: ".strlen(content));
header('Content-Disposition: attachment; filename=myfile.pdf');
print $content;
pour envoyer au navigateur pour le téléchargement. Qu'est-ce que je fais de mal?
Si je change mon code pour:
$pdf = new MyPDF();
$pdf->Output(); //send the pdf to the browser
le fichier est affiché correctement, donc je suppose que est généré correctement et que le problème est dans le stockage dans la db.
Merci d'avance.
Si facile et si évident, merci de me montrer mon erreur :) –
Bonjour je suis intéressé par ce sujet.Comment l'enregistrez-vous sur un système de fichiers alors? J'ai besoin d'envoyer le pdf par email. merci –