Ich muss eine PDF-Datei mit der fpdf-Bibliothek erstellen und sie in einem Blob-Feld in meiner MySQL-Datenbank speichern. Das Problem ist, wenn ich versuche, die Datei aus dem Blob-Feld abzurufen und an den Browser für den Download zu senden, ist die heruntergeladene Datei beschädigt und wird nicht korrekt angezeigt.Speichern Sie ein mit FPDF-PHP-Bibliothek erstelltes PDF in einem MySQL-Blob-Feld
Die gleiche PDF-Datei wird korrekt angezeigt, wenn ich es sofort an den Browser sende, ohne es in der Datenbank zu speichern, so scheint es, dass einige der Daten beschädigt werden, wenn in der Datenbank eingefügt wird.
Mein Code ist so etwas wie dieses:
$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);
die pdf zu speichern, und wie folgt aus:
$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;
sie an den Browser senden zum Download bereit. Was mache ich falsch?
Wenn ich den Code ändern zu:
$pdf = new MyPDF();
$pdf->Output(); //send the pdf to the browser
die Datei korrekt angezeigt wird, so nehme ich an, dass korrekt erzeugt wird, und das Problem ist in dem Speicher in der db.
Vielen Dank im Voraus.
So einfach und so offensichtlich, danke, dass Sie mir meinen Fehler gezeigt haben :) –
Hallo, ich bin an diesem Thema interessiert.Wie speichern Sie es dann auf einem Dateisystem? Ich muss das PDF per E-Mail senden. danke –