Wie die Übergabe SEHR Großen Strings in PHP Bei der Generierung einer PDF

Habe ich einen Bericht, den Sie generieren über 30.000 Datensätze, wenn gegeben, einen ausreichend großen Zeitraum. Aus der HTML-Seite der Dinge, eine resultset-das große ist kein problem, da ich implementieren Sie eine Paginierung system, dass die Grenzen der sichtbaren Ergebnisse um 100 zu einem bestimmten Zeitpunkt.

Mein eigentliches problem tritt auf, sobald der Benutzer drückt die "Get PDF" - button. Wenn dies geschieht, habe ich im wesentlichen re-run der Teil des Berichts, der Drucke die Daten (die Ergebnisse der Bericht selbst gespeichert werden, in einer "speichern" - Tabelle, so gibt es keine Notwendigkeit, re-run das sammeln von Daten und Logik), und speichern Sie die Ergebnisse in eine variable namens $html. Beachten Sie, dass diese variable enthält jetzt als 30.000 Datensätze von Daten sowie die notwendige HTML zu formatieren Sie ihn korrekt in die PDF-Datei. Einmal habe ich diesen HTML-string erstellt, ich gebe es zu TCPDF um zu versuchen und erzeugen Sie die PDF-Datei für den Benutzer. Anstatt jedoch auf die Erzeugung der PDF-Datei, es ist nur scheißt, ohne eine Fehlermeldung ("Erzeugung von PDf -...') dialog verschwindet und das system verhält sich wie Sie nie gebeten, es zu tun.

Durch tests habe ich herausgefunden, dass das problem liegt in der Größe der $html variable weitergegeben werden. Wenn Sie den Bericht unter dem 3K-Datensätzen, es funktioniert gut. Wenn es vorbei ist, ist der HTML-Seite des Berichts gedruckt wird, aber nicht das PDF.

Hilfreiche Info

  • PHP 5.3
  • TCPDF zur PDF-Generierung (auch versucht PS2PDF)
  • Skript Memory Limit: 500 MB

Wie würden Sie Jungs Griff der Umfang der Daten, die bei der Erzeugung einer PDF-Datei von dieser Größe?

InformationsquelleAutor Levi Hackwith | 2010-08-26

Schreibe einen Kommentar