Bilddatei Upload, danach anzeigen

Hallo Forum,

wenn ich eine Bilddatei hochlade

Ausschnitt:

form name="insert" id="form1" action="galerie.php?album=entry" enctype="multipart/form-data" method="POST">
<th colspan="2" align="left" valign="left" height="50"><span class="text2">ALBUM-TITELBILD</span>
<input name="uploadfile" type="file" value="<?php echo $image ?>">

wird diese Datei, wenn erfolgreich, wie folgt zwischengespeichert:

$_FILES['uploadfile']['tmp_name'];

kann ich mit diesen Code irgendwie eine Vorschau erzwingen?

Bevor diese Bilddatei auf der Festplatte gespeichert wird, möchte ich eine
Vorschau vom Bild bekommen.

ich dachte mir versuchstes mal so:

<img src="<?php echo $_FILES['uploadfile']['tmp_name']; ?>" alt="" width="100" height="75" border="0">

weil die Datei wird ja im TMP-Verzeichnis abgelegt.

Hat jemand eine Lösung wie man eine Vorschau bekommt, bevor die Datei auf der
Festplatte liegt.

mfg.

Das gehört wohl mehr in den Bereich PHP.

Wenn man eine Datei hochläd, wird sie auf dem server wohl
immer irgendwo auf der Festplatte landen.

Wenn man ein Bild oder sonst ein anderes Format direkt in
(X)HTML einbetten will, so kann man dafür das Pseudoformat
’data:’ verwenden, bei img innerhalb des Attributes src,
funktioniert nicht bei antiken browsern.
Zuvor wendet man auf das Bild dann per PHP base64 an und
setzt dann natürlich noch vor die Bilddaten den Medientyp
(ehemals MIME-Typ).

ja sorry, wenn möglich bitte verschieben in den PHP-Bereich.

Richtig, die datei landet erstmal ins Temp-Verzeichniss.
Wird dann aber wieder gelöscht, wenn der der Prozess “uplaod” durchlaufen ist.

Also wäre es ja möglich den Inhalt der Temp-Datei auszugeben?!
man muss eben nur:

Da werde ich mal googlen, vielleicht gibt es paar Beispiele.

Sie “liegt” nach dem Upload bereits da - im Upload-Temp-Verzeichnis, wie ja bereits festgestellt.
Also hole sie dort heraus, verschiebe sie woanders hin, wo sie ueber HTTP erreichbar ist - dann kannst du sie auch im Browser anzeigen lassen.

Sie nicht aus dem Temp-Verzeichnis herauszuholen, waere bloed - denn dann ist sie nach Ablauf der Scriptinstanz futsch, und der Nutzer muesste sie erneut hochladen. Das kann ja eigentlich nicht der Sinn einer Vorschau sein.

Statt ‘Pseudoformat’ meine ich natürlich ‘Pseudoprotokoll’ ;o)

Ansonsten gibt es dazu auch Beispiele bei mir:
hoffmann.bplaced.net/hilfe.php?m … erstesbild

Du kannst das Bild sonst nicht direkt aus dem /tmp/
referenzieren, weil das nur ein lokales Verzeichnis ist, aber keine
URI. Direkt referenzieren kann man das Bild nur, wenn es in
einem Verzeichnis steht, welches dem Apachen auch zugänglich
ist, also letztlich eine URI repräsentiert.

Direkt einbetten mit PHP kannst du hingegen prinzipiell alles,
was man mit PHP irgendwie erreichen kann, was an den
Zugriffsrechten liegt, aber wo ein Skript von dir was hinspeichern
kann, sollte ein Skript auch wieder was auslesen können.
Zwischen dem Speichern und dem Auslesen können kann
allerdings etwas Zeit vergehen, was die Angelegenheit
verkomplizieren könnte, wenn das Abspeichern und Auslesen
schnell hintereinander in einem Skript erfolgen soll, da braucht
es gegebenenfalls eine Pause dazwischen, muß man vielleicht
etwas herumprobieren…

Achso - zu obigem Skriptbeispiel - es ist technisch und inhaltlich
unsinnig, GET und POST in einem Formular zu mischen, auch
wenn einige browser oder der Apache das so hinnehmen mögen,
prinzipiell geht da nur entweder oder…

Vielen Dank für eure hinweise :slight_smile: :wink:

Viele Grüße.