Moin!
Je länger wir drüber diskutieren, desto mehr komme ich aber zur Ansicht, dass die Funktion move_uploaded_file() eigentlich vielmehr einen dritten, optionalen Parameter BOOLEAN $overwrite bekommen sollte, mit dem man (default true) das Überschreiben der vorhandenen Datei aktiviert oder (false) einen Error erhält, wenn die Zieldatei schon vorhanden ist.
ACK. Ich habe das mal als Patch eingereicht:
Das ist super.
Ein Kritikpunkt: Du hast den Path von der Parameterlogik her genau umgedreht, das finde ich nicht ganz so schön, weil ich in Parameter eigentlich immer das reintue, was ich haben will - vom Gefühl her sind alle anderen PHP-Funktionen nicht so gestrickt, dass es "NOT XYZ"-Parameter gibt, um was abzustellen.
Im Bug selbst wird schon kritisiert, dass move_uploaded_file() nicht nur für Dateisysteme, sondern für beliebige Stream-Wrapper konzipiert ist - und man wundert sich, warum da überhaupt ein unlink() stattfindet.
- Sven Rautenberg