Moin!
Es gibt Methoden, auch ohne fopen(), Locking etc., konfliktfrei in der Multiuserumgebung einen Dateinamen zu finden und mit move_uploaded_file() zu benutzen, ohne sich Dateien zu zerstören:
Zusätzlich gibt es auch noch die Methode, mit zwar fopen($f,"x") sicherzustellen, dass die Datei nicht existiert, aber danach trotzdem move_uploaded_file() nutzt.
Richtig, aber Tom wird argumentieren, dass move_uploaded_file() ja die Zieldatei erst löscht und dann bewegt, und dass parallele Prozesse sich ohne Locking ja sowieso gegenseitig Dateien zerstören können.
Dabei ist dann die Frage, wie das Skript eigentlich zu einem gültigen, eindeutigen Dateinamen kommt, vollkommen unbeachtet geblieben.
- Sven Rautenberg