kostenloser Webspace werbefrei: lima-city


FPDF Bild URL hinzufügen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    skateen

    skateen hat kostenlosen Webspace.

    $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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. $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.
  4. Autor dieses Themas

    skateen

    skateen hat kostenlosen Webspace.

    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
  5. 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
  6. Autor dieses Themas

    skateen

    skateen hat kostenlosen Webspace.

    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
  7. Laß mal das
    && file_exists($LOGO)

    weg. Dann sollte es auch mit einer externen Bilddatei funktionieren.
  8. Autor dieses Themas

    skateen

    skateen hat kostenlosen Webspace.

    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
  9. 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.

  10. Autor dieses Themas

    skateen

    skateen hat kostenlosen Webspace.

    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
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!