Moin Sven,
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.
LG,
CK