Hi!
Sie hat (noch) den Vorteil, dass sie nicht blind überschreibt. Die muf()-Lösung wird auch zum Mehralszweizeiler, wenn man das Überschreiben ordentlich verhindern will (siehe https://forum.selfhtml.org/?t=206726&m=1404169 ff.). Ansonsten sind die Nachteile eigentlich nur der längere Code und die Manipulierbarkeit der Einträge in $_FILES.
Eben die Manipulation der Einträge in $_FILES sollte doch aber durch fremde Instanzen nicht möglich sein. Das genau zeichnet doch $_FILES (und $_POST und $_GET, ...) aus.
Fremde Instanzen auf Abstand zu halten ist Aufgabe der System- und PHP-Konfiguration.
Und den Programmierer vor sich selber schützen kann man sowieso nicht wirklich.
Das nicht, aber Anwender vor Gefahren von dritter Seite. Wenn jemand ein Plugin oder anderweitig Code in dein System bringen kann, kann er sicher noch ganz andere Dinge als nur $_FILES zu manipulieren. Aber ist das ein Grund auf die Prüfung innerhalb von muf() zu verzichten (wenn das Dateiüberschreiben kein Thema oder mit CKs Patch gelöst ist)? Welcher Vorteil bleibt dir denn noch nach CKs Verbesserungs-Patch?
Lo!