Bilder per PHP anzeigen lassen

Diskutiere Bilder per PHP anzeigen lassen im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; Hi Leute, ich wollte mir eine kleine Bildergalerie einrichten und wollte die Bilder per PHP einbinden also hier ein Beispiel normal ist es...

  1. damuxu

    damuxu Grünschnabel

    Dabei seit:
    14.12.2005
    Beiträge:
    6
    Zustimmungen:
    0
    Hi Leute,

    ich wollte mir eine kleine Bildergalerie einrichten und wollte die Bilder per PHP einbinden also hier ein Beispiel

    normal ist es ja so:
    Code:
    <img src="unterordner/bildername.jpg />

    ich wollte es aber lieber so haben:
    Code:
    <img src="bild.php?bild=bildernamen.jpg />
    kann mir jemand den code vielleicht aufschreiben?
    danke im vorraus

    Michi =)
     
  2. #2 pslizer, 18.06.2006
    pslizer

    pslizer Eroberer

    Dabei seit:
    14.05.2005
    Beiträge:
    55
    Zustimmungen:
    0
    Code:
    <?php
    $datei = fopen($_GET['bild'], r);
    echo fread($datei,5000);
    fclose $datei;
    ?>
    
    Wobei in der Zeile mit echo die 5000 die Größe deines Bildes in Byte betragen sollte (Kann auch größer sein).
    Dies ist ohne Fehlerbehandlung und sonstiges und ohne Sicherheitsüberprüfung, denn er könnte auch in die URL als GET-Parameter etwas anderes hineinschreiben, etwa /etc/passwd, oder irre ich mich?
     
  3. murph

    murph Doppel-As

    Dabei seit:
    19.03.2006
    Beiträge:
    120
    Zustimmungen:
    0
    das wird dann so eingebunden
     
  4. damuxu

    damuxu Grünschnabel

    Dabei seit:
    14.12.2005
    Beiträge:
    6
    Zustimmungen:
    0
    ah ok danke das hilft schon weiter, aber was ich dann jetzt bei dem Code von Murpf sehe ist, dass man ihn nur auf Seiten einsetzen kann, wo PHP genutzt wird. Jedoch möchte ich Freunden anbieten können, dass sie die Gleichen Bilder auf deren Page einsetzten können. Die haben jedoch keinen Webserver, der PHP unterstützt.
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Code:
    <img src="bild.php?bild=bildernamen.jpg />
    Welchen Sinn soll das erfuellen?
     
  6. #6 pslizer, 18.06.2006
    pslizer

    pslizer Eroberer

    Dabei seit:
    14.05.2005
    Beiträge:
    55
    Zustimmungen:
    0
    Das PHP-Skript kann natürlich auch bei dir liegen, sie müssen das dann allerdings mit kompletter URL einbinden.

    EDIT: Sie können, falls mein Skript modifiziert wird, auch Bilder von einem externen FTP-Server laden.
     
  7. murph

    murph Doppel-As

    Dabei seit:
    19.03.2006
    Beiträge:
    120
    Zustimmungen:
    0
    sag das doch gleich!!!
    dann kannst du doch einfach mal als img-src die echte internetadresse angeben!
    un wofür den skript dann noch?
    einfach zb
    das macht dann
    [​IMG]
    //edit: kann kein non-jpeg-pic finden, sry
     
  8. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Ich würde den Sinn darin sehen, dass man seine Bilder schützen kann. Anstatt die Bilder ins "/html" zu legen, wo sie bequem per Browser erreichbar sind, kann man sie geschützt in ein Verzeichnis abseits von "/html" legen. Zugriff geht nur über die bild.php. Diese kann das Anzeigen der Bilder von vorhandenen Cookies abhängig machen.

    Gruss, Xanti
     
  9. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Und wie will man dafuer sorgen, dass nur die bild.php auf das Verzeichnis zugreifen kann? Spaetestens wenn sich jemand das Bild auf der Platte speichert, sieht er aus welchem Ordner es kommt.
     
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Wenn man das Bilderverzeichnis ins "/cgi-bin" legt, sollte man nicht vom Browser direkt drauf zugreifen können.
     
  11. damuxu

    damuxu Grünschnabel

    Dabei seit:
    14.12.2005
    Beiträge:
    6
    Zustimmungen:
    0
    ja ich will halt so erreichen, dass man das Bild nicht direkt verlinken kann sondern es dann halt so über die PHP datei sieht.
    Oder ist das auch mit Java möglich?
     
  12. #12 sono, 20.06.2006
    Zuletzt bearbeitet: 20.06.2006
    sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Dein Ansatz ist falsch.

    So verlinken die Jungs dann nimmer auf das Bild sondern auf das Script. Du hast also einen Schutz der nicht schützt sondern nur zusätzlich Last erzeugt, es sei denn du weißt was eine Session ist und wie man sie verwenen könnte um das direkte Verlinken doch zumindest zu 95% zu unterbinden ( Aber selbst eine Session bietet keinen wirklichen Schutz für öffentliche Bilder, wenn der Junge ein wenig Ahnung ( und ein wenig bedeutet das KnowHow wie verstecke ich einen iframe auf meiner Seite zu deiner Seite um eine Session zu erstellen ) hat und das Bild unbedingt einbinden möchte )

    Google mal nach Modrewrite und Bilder schützen , oder ModSecurity sollte sowas auch können.

    Gruß Sono
     
  13. #13 Salva, 22.01.2017
    Zuletzt bearbeitet: 22.01.2017
    Salva

    Salva Grünschnabel

    Dabei seit:
    22.01.2017
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo miteinander, bitte um Hilfe für folgendes Problem:

    Ich habe die Datei "input.html" mit einem Eingabeformular und einem Textfeld, in dem die URL eines Bildes eingegeben werden kann:

    Code:
    <input size="60" name="personFoto" id="personFoto" type="text" value="" placeholder="URL zum Foto" />
    Über die Datei "output.php" lese ich diese URL dann so aus:

    Code:
    <?php
    $personFoto = $_POST["personFoto"];
    
    echo
    ''.$personFoto.'';
    ?>
    
    Das funktioniert auch.

    Jetzt möchte ich aber in der "output.php" nicht nur die URL zum Bild, sondern auch das Bild selbst anzeigen lassen und dazu den img-Tag "<img src="">" einsetzen. Irgendwie müsste ".$personFoto." mit in den Tag - oder der img-Tag mit in die Zeile ".$personFoto." - aber ich habe keine Ahnung wie ich das umsetzen soll.

    Hat jemand eine Idee bzw. kann mir jemand dabei helfen?

    Herzlichen Dank vorweg!

    Beste Grüße,
    Salva
     
  14. #14 jmar83, 28.01.2017
    Zuletzt bearbeitet: 28.01.2017
    jmar83

    jmar83 Routinier

    Dabei seit:
    05.07.2011
    Beiträge:
    260
    Zustimmungen:
    0
    Das <img src="">-Tag brauchst du in Deinem PHP nicht - es sei denn, Du willst mit dem PHP HTML "rendern". (=Content-Type: text/html)

    Wenn du kein HTML rendern will, sondern einen binären Datenstrom (wie Bilder) anzapfen, dann musst du a.) den "Content-Type" als "image" deklarieren und (evtl.?) muss du auch dafür sorgen dass korrekt ausgegeben wird - wie man mit "echo" binäre Daten ausgeben kann, ist mir z. Zt. nicht bekannt. Geht vielleicht. ;)

    $imagePath = $_POST['image'];
    $imageType = null;

    if(imagePath.contains('.jpg') || imagePath.contains('.jpeg') || imagePath.contains('.jfif'))
    {
    $imageType = 'jpeg';
    }

    if(imagePath.contains('.gif'))
    {
    $imageType = 'gif';
    }

    if(imagePath.contains('.png'))
    {
    $imageType = 'png';
    }

    if(imageType!=null && imageType!='') // String ist weder eine Nullinstanz noch leer. (leer heisst intern ein "array" mit der länge 0, also instanziert aber leer!)
    {
    header('Content-Type: image/'.$imageType); // String zusammensetzen!!
    $binaryImageData = getBinaryFileContent($imagePath);
    echo $binaryImageData; // Frage die sich hier stellt: Kann man binäre Daten mit "echo" ausgeben...?
    }
    else
    {
    // Trifft zu wenn kein Bild, oder nicht unterstützt...
    // die("Fehlermeldung"); oder exit; sollte nicht notwendig sein, sollte ich selbst "bereinigen" ohne dass du was aufrufen muss. Schaden tut es allerdings nicht ;) Wenn du unbedingt eine Fehlermeldung willst -> die(string); verwenden...
    }


    Wichtig: getBinaryFileContent(arg) existiert so nicht in dieser Form, ist nur zum Demo-Zwecken!!

    Natürlich könntest du es auch dynamischer machen, indem immer die hintersten 3 Zeichen des Dateinamens AUTOMATISCH zum "Content-Type: "-String zusammengesetzt werden, ohne vorherige Prüfung.

    Hat alles seine Vor- und Nachteile, du musst diese gegeneinander abwägen - je nach "Use Case"...

    Nachtrag: Evtl. kannst du auch switch/case verwenden anstelle der vielen if's, keine Ahnung wie das bei PHP ist, evtl. geht das mit strings. Bei Java konnte man früher zumindest nur integer-Werte verwenden.
     
  15. Salva

    Salva Grünschnabel

    Dabei seit:
    22.01.2017
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo @jmar83 und DANKE für deine Bemühungen!

    Ich habe das html gerendert und mein Problem bereits gelöst ;)

    Wie bereits erwähnt, zeige ich die URL zum Bild als reinen Text mit
    $personFoto = $_POST["personFoto"];
    auf der php-Vorschau- und Ausgabeseite an.
    Das html dazu:
    <p id="personInfo"><?php echo $personFoto; ?></p>

    Und mit der Kombination php echo/ html-Tag img
    <img id="personFoto" src="<?php echo $personFoto; ?>">
    bekomme ich nun auch das Bild selbst angezeigt. Ebenfalls in der php-Vorschau- und Ausgabeseite. Alles okay also ;)

    HERZLICHEN DANK nochmal und einen schönen Abend noch!

    Beste Grüße,
    Salva
     
Thema: Bilder per PHP anzeigen lassen
Besucher kamen mit folgenden Suchen
  1. php bild anzeigen

    ,
  2. bild mit php-function ausgeben

    ,
  3. php bild per script anzeigen

    ,
  4. bilder mit php einbinden,
  5. jpg in php anzeigen,
  6. bilder in php,
  7. PHP binärer bilddatei anzeigen,
  8. php bild im browser ausgeben,
  9. mit php bilder anzeigen,
  10. bild in php anzeigen lassen,
  11. php bilder,
  12. php bild im browser anzeigen,
  13. php Bild laden,
  14. php bild ausgeben,
  15. bilder mit php einfügen
Die Seite wird geladen...

Bilder per PHP anzeigen lassen - Ähnliche Themen

  1. Wie Bilder uebertragen mit Kabel

    Wie Bilder uebertragen mit Kabel: Hallo, ich muesste dringend Bilder ueber Kabel vom Telefon uebertragen. Mein Telefon erscheint, aber ohne Laufwerk. In dem Filemanager taucht es...
  2. WordPress 4.4 »Clifford« passt Bilder automatisch an

    WordPress 4.4 »Clifford« passt Bilder automatisch an: Die Wordpress-Entwickler haben ihre freie Blog-Software in der Version 4.4 veröffentlicht. Der Namensgeber dieser Version ist der 1956 verstorbene...
  3. Darktable 1.6 unterstützt riesige Bilder

    Darktable 1.6 unterstützt riesige Bilder: Die virtuelle Leuchttisch- und Dunkelkammer-Anwendung Darktable ist in der Version 1.6 erschienen. Die Software möchte Fotografen bei ihrer Arbeit...
  4. Canonical anonymisiert Dash-Suchbilder

    Canonical anonymisiert Dash-Suchbilder: Wie David Callé in einer kurzen Mitteilung bekannt gab, wird bereits die kommende Version von Ubuntu die über das Dash abgesetzten Suchanfragen...
  5. Artikel: PNG-Bilder (automatisch) optimieren

    Artikel: PNG-Bilder (automatisch) optimieren: Eine Frage, die man sich bei der Überschrift stellen könnte, ist: »Sind meine Bilder nicht optimal?« Die Antwort ist, dass alles eine Frage der...