Bild aus Stream anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild aus Stream anzeigen

    Hallo!

    Ich möchte ein per Formular hochgeladenes Bild anzeigen. Ich weiß, dazu gibt es schon unzählige Beiträge, aber in denen wird immer das hochgeladene Bild zuerst in ein anderes Verzeichnis kopiert und dann angezeigt. Ich möchte nun folgendes tun:

    Das Bild wird hochgeladen und wenn keine Fehler sind in eine mysql-Datenbank gespeichert. Das funktioniert auch wunderbar, ich kann das Bild aus der mysql-DB auch wieder anzeigen.

    In dem Formular, dass das Bild hochlädt, werden aber auch noch andere Angaben gemacht, z.B. eine PLZ. wenn nun die PLZ nicht korrekt ist, soll eine Fehlermeldung kommen, aber das Bild - soweit korrekt - auch wieder angezeigt werden. Nur zur Zwischenanzeige möchte ich das Bild, dass der User hochlädt, natürlich nicht extra in ein anderes Verzeichnis auf dem Webserver speichern, sondern direkt aus der übergebenen Variablen anzeigen.

    Das Formular übergibt für die Datei die Variable $pic an meine index.php. In dieser steht dann z.B. /tmp/sdfsdUY45 o.ä.

    Um es in die Datenbank zu speichern, mache ich $bild_daten = addslashes(fread(fopen($pic, "r"), filesize($pic))); Funktioniert auch wunderbar.

    Um aber direkt das Bild vor dem Speichern in der DB anzeigen zu können, habe ich versucht folgendes zu schreiben:
    echo '<img src="'.$pic.'">';

    kam aber nur ein rotes Kreuz :-(

    Also habe ich es mit einem extra-Skript versucht:
    echo '<img src="getpic_tmp.php?pic='.$pic.'">';

    in getpic_tmp.php steht folgendes:

    <?php
    parse_str(getenv('QUERY_STRING'));
    $bild_daten = addslashes(fread(fopen($pic, "r"), filesize($pic)));
    header( "Content-type: image/jpg");
    header("Content-Disposition: inline; filename=test");
    echo $bild_daten;
    ?>


    dort aber funktioniert fopen nicht mehr, obwohl es in der index.php funktioniert.

    Kam also auch ein rotes Kreuz.

    Ist /tmp/sdfsdUY45 nur im aktuellen Skript verfügbar? Geht es denn überhaupt, aus dem aktuellen Stream direkt ein Bild anzeigen zu lassen, ohne das Bild zu verschieben?

    Ich hoffe, ich habe mich einigermaßen verständlich ausdrücken können. Falls das Thema doch schon irgendwo behandelt wurde, bitte ich um einen Link, ich suche nun seit drei Stunden dazu im Netz, aber konnte nichts passendes finden.

    Tausend Dank im Voraus schonmal,
    Mona

  • #2
    beim upload wird eine datei in ein temporäres verzeichnis geladen, danach wird dein php-skript ausgeführt

    dies php-skript MUSS die datei aus dem temporären verzeichnis rausholen, da sie sonst nach ende des php-skripts gelöscht wird
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      hm, also auch, wenn ich aus dem skript heraus ein anderes skript aufrufe.

      Danke, dann kann ich das ja vergessen...

      Kommentar

      Lädt...
      X