2016-03-22 3 views
0

In meinem Projekt ich fpdf verwenden, um eine PDF-Datei auf Daten aus der Datenbank zu generieren. Allerdings würde Ich mag die pdf zu vorab generiert wird, indem eine Methode aufrufen, die die Datei erstellen und speichern. save_data.phpund nennt es nach der Methode

($myPDF->createPDF($id)){ 
echo 'File was created'; 
}else{ 
echo 'There was a problem creating the file'; 
} 

createPDF.php

//Code that generate the PDF using FPDF and at end save the file to server 
$pdf->Output('/var/www/html/my_dir/my_pdf.pdf','F'); 

Also im Grunde würde Ich mag createPDF.php in einem Verfahren platzieren und dann wieder true oder false wenn pdf erstellt wurde oder nicht.

EDIT: Nur um zu klären. Wenn ich nur eine Antwort von Output() bekommen könnte, wäre es viel einfacher sein.

Soll ich gehen und einfach überprüfen, ob Datei existiert oder nicht?

+0

Überprüfen Sie es zuerst und zeigt einen benutzerfreundlichen (oder etwas, das zu sehen ist gut) Erinnerung/info. – rhavendc

+0

Es ist unklar, was Sie fragen. Natürlich können Sie den Code, der das Dokument erstellt, aus einer bestimmten Methode heraus aufrufen. Die Frage ist, ob es so eine gute Idee ist, eine Datei zu verwenden. Das Problem mit Dateien generiert eindeutige Namen, um Kollisionen zu verhindern und die Dateien nach einiger Zeit zu bereinigen. Warum nicht stattdessen einen Ausgabepuffer verwenden, den Sie anstelle einer Datei lesen können? – arkascha

+0

Sache ist, dass ich die Datei benötigen auf dem Server für eine spätere Verwendung zu sein. Wenn die Datei nicht gut aussieht. Der Benutzer kann die Eingabe anpassen und die Datei ersetzen lassen. – Andy

Antwort

0

Wenn Sie wollen nur wissen, ob die Datei auf Disc erfolgreich gespeichert wurde:

function createPdf($pdf, $filename) { 
    // remove file if it already exists 
    if(file_exists($filename)) unlink($filename); 

    // save pdf 
    $pdf->output($filename, 'F'); 

    // return true if successfull, false otherwise 
    return file_exists($filename); 
} 
+0

Dank idealerweise möchte ich es als eine Methode platzieren und dann die PDF erzeugen wie: '$ pdf = $ buildPDF-> build ($ db_value);' 'if ($ buildPDF-> createPdf ($ pdf, $ filename)) {// Datei generiert und ich kann es als Anhang etc} senden – Andy