2012-10-22 18 views
8

Wie erzeuge ich eine PDF-Datei aus einer Binärdatei, die in php5 aus der Datenbank abgerufen wurde? Es kommt base64 codiert, und ich habe es gerade entschlüsselt, aber ich weiß nicht, was ich als nächstes tun soll ...Wie erzeuge ich eine PDF-Datei aus einer Binärdatei?

+0

Was ist eine "Binärdatei"? Meinst du, du hast vorher ein PDF-Dokument base64 in der Datenbank gespeichert? – deceze

+0

Ich bekomme die Datei von einem Webservice und möchte sie lesbar machen, weiss aber nicht in welcher Weise bevor ich meine Alternativen kenne. – nli

Antwort

25

Die binären Daten sind einfach die eigentliche Datei, oder vielmehr die wesentlichen Inhalte der Datei, nur ohne Dateinamen.

$base64 = /* some base64 encoded data fetched from somewhere */; 
$binary = base64_decode($base64); 

Und dort haben Sie die Datei Daten/Inhalt der Datei in dem $binary Variable. Von hier hängt es ab, was Sie tun möchten. Sie können die Daten in eine Datei schreiben, und Sie erhalten eine „tatsächliche“ PDF-Datei erhalten:

file_put_contents('my.pdf', $binary); 

Sie die Daten an den Browser mit einem entsprechenden Header spucken können, und die Benutzer etwas erhalten, die aussieht wie ein PDF-Datei für ihn:

header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename="my.pdf"'); 
echo $binary; 
+2

Normalerweise danke ich nicht auf SE-Seiten ... gerade Abstimmung ... aber nachdem ich 2h versucht habe, dies auf "hard-way" zu tun und keine Quelle für Hilfe zu finden ... Ich muss dir danken ! = D –

-1

Ich wiederhole deinen letzten Satz :) Ich weiß nicht, was ist die Frage! :). Wenn Sie die Datei an einen Browser senden möchten, können Sie die Header festlegen und den dekodierten Inhalt streamen. Oder wenn Sie die Datei unverändert lassen möchten, schreiben Sie in das Dateisystem und verwenden Sie sie. Bitte seien Sie klarer auf Ihre Frage!

Danke !!

+0

Tut mir leid, aber diese Dateiverwaltung ist neu für mich, also versuche ich herauszufinden, wie ich die PDF-Datei, die ich vom Webservice abrufe, im Binärformat benutze. – nli

Verwandte Themen