Läuft lokal, online nicht

Diskussionen und Austausch über die von FPDF bereitgestellten Methoden, Problemen bei der Anwendung etc.
zurlinde
Benutzer
Beiträge: 2
Registriert: Mo 5. Sep 2016, 18:45

Läuft lokal, online nicht

Beitragvon zurlinde » Mo 5. Sep 2016, 19:00

Hi,

hab FPDF in CodeIgniter laufen und erstelle damit ein PDF. Im PDF ist nur ein Screenshot PNG welches von html2canvas kommt.

Code: Alles auswählen

$imagedata = rawurldecode($this->input->post('image'));
$width = $this->input->post('width');
$height = $this->input->post('height');
$tempimg = _DOCROOT_.'/calculator/files/temp/tempimg.png';

$source = fopen($imagedata, 'r');
$destination = fopen($tempimg, 'w');
stream_copy_to_stream($source, $destination);
fclose($source);
fclose($destination);

$pdforientation = $width < $height ? 'P' : 'L';
$this->load->library('Topdf');
$this->topdf->AddPage($pdforientation, array(($width+40)/3, ($height+40)/3));
$this->topdf->SetTopMargin(20);
$this->topdf->SetLeftMargin(20);
$this->topdf->Image($tempimg, null, null, 0, 0, 'png');
$buffer = $this->topdf->Output('S');

Das PDF wird per Mail verschickt, deshalb die Bufferausgabe. Lokal klappt alles wunderbar. Online wird im Rootverzeichnis eine Datei mit Namen S angelegt und das PDF ist leer.
Hat jemand eine Idee nach was ich suchen kann? Bin total ratlos.
Hab lokal und online PHP 5.4 laufen. Selbes online mit PHP 5.6

Gruß Sven

zurlinde
Benutzer
Beiträge: 2
Registriert: Mo 5. Sep 2016, 18:45

Re: Läuft lokal, online nicht

Beitragvon zurlinde » Di 6. Sep 2016, 15:53

Hab

Code: Alles auswählen

$this->topdf->Output('S');

geändert in

Code: Alles auswählen

$this->topdf->Output('', 'S');

damit läuft es auch online.

Hubert
Benutzer
Beiträge: 11
Registriert: Di 3. Sep 2013, 11:22

Re: Läuft lokal, online nicht

Beitragvon Hubert » Di 10. Jan 2017, 11:26

Richtig !

Sieht man sich die Dokumentation für ->Output() an, wurde im Vergleich mit älteren Versionen die Reihenfoge der Parameter geändert.
Vorher 1. NAME / 2. DESTINATION
Jetzt 1. DESTINATION / 2. NAME

Der alte Aufruf mit ->Output($name); alleine läuft darum nicht mehr, wenn eine PDF Datei am Server gespeichert werden soll.
Er muss z.B. durch ->Output('F', $name); ersetzt werden.


Zurück zu „Programmierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste