Liebe/-r Experte/-in,
ich erstelle in einem PHP-Script mit fpdf ein pdf.
Weil vorher schon andere Header gesendet wurden, lasse ich das PDF in einem Iframe berechnen und übergebe ihm dazu ein paar Parameter:
?>
jetzt ist es so dass das ursprünglich nicht so vorgesehen war. In der Datei rechnung_pdf.php wird eine Textvariable namens $otext angelegt, die die Ergebnisdaten im Textformat enthält.
Die kriege ich natürlich nicht mehr von dem Iframe in die das Iframe aufrufende Datei zurück, wo ich sie aber bräuchte.
Meine Lösung: Speichere String in Textdatei auf Platte und lies ein:
// otext wird als Textdatei in der rechnung_pdf.php gespeichert und muss hier ausgelesen werden
$textpfad = „rechnungen/rechnung_“.$renr.".txt";
$h = fopen ($textpfad, „r“);
$otext = fread ($h, filesize ($textpfad));
fclose ($h);
Die PDF-Datei wird ordnungsgemäß erstellt. Die Textdatei auch, aber beim Einlesen erhalte ich immer den Fehler folgender Art:
Warning: fopen(rechnungen/rechnung_10050.txt) [function.fopen]: failed to open stream: No such file or directory in /var/www/web110434/html/markus/shop1/danke.php on line 51
ich habs auch schon mit ./rechnungen … probiert, aber gleiches Ergebnis.
Dann hab ich die Funktion mal ausgelagert:
$textpfad = „./rechnungen/rechnung_10044.txt“;
$h = fopen ($textpfad, „r“);
$otext = fread ($h, filesize ($textpfad));
echo nl2br($otext);
fclose ($h);
?>
funktioniert wunderbar.
Warum aber funktionierts oben nicht? Ich habe den schlimmen Verdacht, dass die Datei im Iframe noch nicht „fertig“ - noch nicht erstellt ist, wenn die Leseroutine greift. Kann das sein? Wie umgehe ich dieses Problem und was verursacht es?
Danke.
Kann auch sein dass ich irgendeine Kleinigkeit übersehen habe, aber ich finds einfach nicht.