PHP Upload mit Überschreibbestätigung

dfd1

Erfahrenes Mitglied
Ich weiss, anständige Titel zu erstellen sind schwirig :-)

Aber zum Thema: Ich hab ein Upload-Script, das wunderbar funktioniert, solange die Datei nicht schon auf dem Server ist.
Ich möchte in diesem Fall, das der User gefragt wird, ob er die Datei überschreiben soll oder nicht.
Und alles muss auf Templates basieren.

So im Kurzüberblick wie der Ablauf sein soll (Useransicht)
->Datei angeben-> Upload klicken->Bestätigen, wenn altes File überschrieben werden soll->Meldung das File oben ist.

Habt ihr Ideen um das zu lösen? Code muss es noch nicht gerade sein;)


Danke für Antworten

PS:
:suchen: und :google: wurden benutzt, hab aber nicht schlaues darüber gefunden (falsch gesucht? )
 
hm, also ich kenn mich zwar nich so gut damit aus, aber du kannst es ja wie folgt machen:

__ der user hat das file ausgewählt und das formular wurde abgeschickt.
__ das programm schreibt die datei, die hochgeladen werden soll, in eine temporäre datei. da gibt's verschiedene funktionen in php dafür, die dir eine temporäre datei mit einem eindeutigen namen ablegen, ohne eine andere zu überschreiben.
__ dann prüft das programm auf existenz derselben datei mit originalnamen. nun gibt es zwei möglichkeiten:
_____ existiert die datei nicht, wird die temporäre datei einfach verschoben.
_____ existiert die datei, wird eine html-seite ausgegeben, in der nachgefragt wird, ob die datei überschrieben werden soll. entweder ein form oder einen link erstellen und damit den namen der temporären datei mit übergeben.
__ wurde das formular abgeschickt oder der link angeklickt, kopiere die temporäre datei ebenfalls.

gruß,
matt
 
Also ...

- Tutorials zu Templates gibts hier in Massen
- Tuts zu Uploads auch

Das einzigste was du noch zu tun hast, ist wegen dem Bestätigen checken.
Du fragst mit file_exists ab, ob die Datei schon existiert. Wenn ja, dann mußt du die Datei zwischenkopieren, denn ein normaler Upload ist ja nach Beendigung des Scripts weg.

Dann gibst du den Text mit der Zwischenkopie aus und wenn es dann wieder nen ja gibt, dann holst du dir die zwischengespeicherte Datei und schreibst das rein. Ende.

- file_exists
- fopen
- fwrite
- fclose

Ende der Fahnenstange. ^^
Ronin
 
Auf die Idee mit dem Zwischenspeichern bin ich nicht gekommen, danke. War ja auch mein Problem, da die Datei fort war. Mal ausprobieren

Ansonsten funktioniert bis jetzt alles.
 
Sonst könntest du ja auch am Anfang ne Option einfügen die fragt ob die Datei überschrieben werden soll falls sie schon existiert. Das erspart dem User ein 2. mühsames Nachfragen und dir Programmierarbeit.
 
Und wenn er nicht mal weiss das es die Datei gibt, dann kann es ihm ja auch egal sein wenn sie überschrieben wird. (=Er kreuz ja an.) Wenn er Nein angekreuzt hat und die Datei existiert, dann kann man ja immernoch eine Meldung ausgeben...
 
Danke an euch allen. Ihr habt mir sehr geholfen. Mein Hauptproblem war wohl, das die Datei gelöscht war, nachdem der Script fertig ist.
Nach einem Schreibfehler (GLOBLAS statt GLOBALS) :mad: der mir auch noch Stunden Sucharbeit gebracht hat, funktioniert das Script jetzt. :) *freu*
 
Zurück