FPDF Bild URL hinzufügen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abschicken
all
bild
code
dokumentation
feld
funktionieren
http
image
leere post
letzte angabe
liegen
logo code
logo logo code
message
string
tag
type
url
variable code
-
$LOGO = $_POST['LOGO']; $LOGOLINK = $_POST['LOGOLINK']; require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); if (isset($LOGO)) { $pdf->Image('$LOGO',130,15,70,0,'PNG', '$LOGOLINK');}
<legend>Kopf</legend> <p> <label >Logo Url:</label> <input value="Max" type="text" name="LOGO"> </p> <p> <label >Verlinkung des Logos:</label> <input value="Max" type="text" name="LOGOLINK"> </p>
Htag/all">allo Leute, ich bin gerade dabei ein Berichtgenerator zu schreiben. Alles Funktioniert ohne Probleme. Jetzt wollte ein eine Funktion hinzufügen, damit User Bilder in den Kopfbereich erhalten. Leider Funktioniert das nicht so wie ich es wollte. Woran kann es liegen? Wenn ich in diesen Feld nichts eingebe, Funktioniert es auch nicht.
Ich erhalte folgende Meldung: Fatal error: Uncaught exception 'Exception' with message 'FPDF error: Can't open image file: $LOGO' in /home/webpages/lima-city/skateen/html/Bild/fpdf.php:271 Stack trace: #0 /home/webpages/lima-c#########################): FPDF->Error('Can't open imag...') #1 /home/webpages/lima-ci####################p(885): FPDF->_parsepng('$LOGO') #2 /home/#############(73): FPDF->Image('$LOGO', 130, 15, 70, 0, 'PNG', '$LOGOLINK') #3 {main} thrown in /home/webpages/lima-city########/fpdf.php on line 271
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
$Logo muss zu dem Bild führen.
Versuche also einfach mal folgendes:
$LOGO = $_POST['LOGO']; $LOGOLINK = $_POST['LOGOLINK']; require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); if (isset($LOGO) && file_exists($LOGO)) { $pdf->Image($LOGO,130,15,70,0);} else echo $LOGO;
Narürlich solltest du beim upload des Bildes auch darauf prüfen, ob es sich tatsächlich um ein Bild handelt. -
all-in1 schrieb:
$Logo muss zu dem Bild führen.
Versuche also einfach mal folgendes:
$LOGO = $_POST['LOGO']; $LOGOLINK = $_POST['LOGOLINK']; require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); if (isset($LOGO) && file_exists($LOGO)) { $pdf->Image($LOGO,130,15,70,0);} else echo $LOGO;
Narürlich solltest du beim upload des Bildes auch darauf prüfen, ob es sich tatsächlich um ein Bild handelt.
Es handelt sich hierbei um eine URL eines Bildes. Ich würde zwar gerne ein Upload System mit einbauen, jedoch habe ich es nicht hinbekommen, deshalb beschränke ich es auf eine URL. Jedoch funktioniert das nicht so, wie ich es gerne hätte. Wenn ich ein eignes bild von meinen Webspace einbinde, funktioniert das ,,manchmal".
Beitrag zuletzt geändert: 3.12.2016 21:52:13 von skateen -
FPDF hat so seine Tücken.
Bei deinem Code funktionieren auch nur PNG Dateien.
Die beiden Angaben "string type, mixed link" sind nur optional und können weggelassen werden. So holt sich FPDF die entsprechende Dateiendung selbst.
Die letzte Angabe wäre nur, wenn du vorher mit AddLink() eine Verknüpfung zugewiesen hast. Also für ein verlinktes Bild.
Siehe dazu auch die Doku -
all-in1 schrieb:
FPDF hat so seine Tücken.
Bei deinem Code funktionieren auch nur PNG Dateien.
Die beiden Angaben "string type, mixed link" sind nur optional und können weggelassen werden. So holt sich FPDF die entsprechende Dateiendung selbst.
Die letzte Angabe wäre nur, wenn du vorher mit AddLink() eine Verknüpfung zugewiesen hast. Also für ein verlinktes Bild.
Siehe dazu auch die Doku
Ich habe es getestet:
$pdf = new FPDF(); $pdf->AddPage(); if (isset($LOGO) && file_exists($LOGO)) { $pdf->Image($LOGO,130,15,70,0); }
Wenn ich eine internen Link eingebe: Upload/1.png dann Funktioniert es.
Jedoch funktioniert es leider nicht, wenn ich ein externen Link eingebe: http://domain/Bild/upload/1.png.
Woran kann das liegen? Ist es eig. möglich bei FPDF ein externes Bild einzufügen?
Gruß Daniel
-
Laß mal das
&& file_exists($LOGO)
weg. Dann sollte es auch mit einer externen Bilddatei funktionieren. -
all-in1 schrieb:
Laß mal das
&& file_exists($LOGO)
weg. Dann sollte es auch mit einer externen Bilddatei funktionieren.
Jetzt funktioniert es.Wenn ich das Feld leer lasse, erscheint folgene Meldung:
Fatal error: Uncaught exception 'Exception' with message 'FPDF error: Image file name is empty' in #######/Bild/fpdf.php:271 Stack trace: #0#######l/Bild/fpdf.php(868): FPDF->########html/Bild/PB-erstellen.php(73): FPDF->Image('', 130, 15, 70, 0, '', '') #2 {main} thrown in#####html/Bild/fpdf.php on line 271
$pdf = new FPDF(); $pdf->AddPage(); if (isset($LOGO)) { $pdf->Image("$LOGO",130,15,70,0,"","$LOGOLINK"); } else { }
So sieht das ganze insgesamt aus:
http://skateen.lima-city.de/Bild/PB-erstellen-.php
Wenn ich das erste Feld leer lasse, funktioniert das nicht. Wenn ein Link eines Bildes funktioniert das. Es sollte funktionieren, auch wenn ich das Feld leer lasse bzw wenn es kein Link ist.
Ich bastele den ganzen Tag an diesen Script, und komme nicht weiter. Ich verstehe es irgendwie nicht richtig.
if (isset($LOGO)) {
Wenn ich eine leere Variable sende, macht er das trotzdem, obwohl ich den Tag ISSET eingefügt. Woran kann das liegen?
Gruß Daniel
Beitrag zuletzt geändert: 4.12.2016 22:38:29 von skateen -
Weil $LOGO schon referenziert ist, auch wenn die Variable leer ist. Mit dem abschicken des Formulars hast du eine leere POST-Variable.
if(isset($LOGO) && $LOGO != '')
Das sollte dann funktionieren.
-
all-in1 schrieb:
Weil $LOGO schon referenziert ist, auch wenn die Variable leer ist. Mit dem abschicken des Formulars hast du eine leere POST-Variable.
if(isset($LOGO) && $LOGO != '')
Das sollte dann funktionieren.
Danke, jetzt funktioniert es.
closed -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage