Bild vorschau vor dem abspeichern

illetuffi

Mitglied
Hallo,
ich habe ein script zum upload von Bildern geschrieben.
Alles soweit auch ok.

Ich möchte nun eine Vorschau des Bildes realisieren bevor ich es auf dem Server abspeichere.

Ist es möglich ein Bild das im
Code:
 $_FILES[file][tmp_name]
lieg schon auszugeben?
Bitte um einen Tipp.
Gruss Ingo
 
Ja, das ist möglich. Allerdings befindet sich das temporäre Verzeichnis meistens außerhalb des von Außen zugänglichen Bereichs, womit die Grafik über einen Mittelsmann-Skript ausgeliefert werden müsste, beispielsweise:
PHP:
<?php

	header('Content-Type: '.$_FILES['file']['type']);
	readfile($_FILES['file']['tmp_name']);
	exit;

?>
 
Gumbo hat gesagt.:
Ja, das ist möglich. Allerdings befindet sich das temporäre Verzeichnis meistens außerhalb des von Außen zugänglichen Bereichs, womit die Grafik über einen Mittelsmann-Skript ausgeliefert werden müsste, beispielsweise:
PHP:
<?php

	header('Content-Type: '.$_FILES['file']['type']);
	readfile($_FILES['file']['tmp_name']);
	exit;

?>


Hallo Gumbo. Dazu habe ich mal eine Frage. Wie sieht es aus, wenn ich mehrere Uploadfelder habe und er beim Klicken auf Upload erstmal nur eine Liste mit den im TMP-Ordner befindlichen hochgeladenen Dateien ausgeben soll, so dass der Benutzer die Möglichkeit hat nun verschiedene TMP-Dateien zu löschen und nur der Rest per move_uploaded_file in das endgültige kopiert wird. Ist das möglich? Ich probiere das mit PHP und scheitere, weil bei einem submit ja die Seite neu geladen wird und dann leider der Inhalt des TMP-Verzeichnisses weg ist. Kann man sich da mit Tricks helfen oder ist es schlicht unmöglich? Ich mein, Tutorials.de macht es ja auch, also muss es ja gehen. Wenn man da nämlich auf Upload klickt, dann kann man die Datei vorm eigentlichen Hochladen noch löschen.

Ich bin über jeden Tipp heilfroh :-)
 
Naja du könntest die Datei erstmal allgemein in einen temporären Ordner speichern.
Danach gibst Du dir alle Datein im Ordner aus , und die die Du auswählst lädst Du dann hoch.
Abschliessend löscht Du alle Datein im Ordner die eben ausgewählt und hochgeladen wurden oder auch nicht ausgewählt.
dazu müsstest Du nur die Dateinamen immer weitergeben , das könntest Du aber mittels einer Session machen.

Also so einen groben Ablauf den ich mir da vorstellen könnte:

Formular absenden
Bilder_die hochgeladen wurden in ein Array speichern mit Namen und der Session übergeben.
Bilder hochladen in den Temp Ordner (vorher überprüfen etc).
Bilder die in den Array sind aus dem Temp Ordner auslesen
Weiteres Formular bauen für den die Bilder will ich nun wirklich haben.
Somit bilden sich dann 2 Arrays.
1. mit allen Bildern die hochgeladen werden sollten
2. alle Bilder die wir nun haben möchten.
Die Bilder aus dem 2. Array mittels Copy aus dem Temp Ordner in den Zielordner kopieren.
alle Bilder die im 1. Array waren nun aus dem Temp Ordner löschen.

Ich würde es deswegen mit Arrays machen , das wenn mehere User kommen zur gleichen Zeit keine Probleme auftreten.Wenn Du nur den Ordner auslesen würdest könnte es glatt passieren das er ebenfalls die Bilder der anderen Benutzer rauskillst.
 
Zurück