Mir geht es dabei nicht um die PHP-Punkte in dem Post. Und Leichen kann man vorbeugen, z.B: ein Benutzerbild kannst du immer nach dem Benutzer bennen, macht er einen upload, ersetzte das alte...
wenn du eine Galerie hast, haste auch verweise auf die Bilder, die kannst du so auch rauslöschen.
Wir entfernen uns zwar vom Ausgangsthema, aber...
Wieso "Benutzerbilder", das hat der TS doch gar nicht gesagt, sondern allgemein Bilder, also noch allgemeiner Binärdaten, kann dein Beispiel nicht nachvollziehen.
Ist nicht grundsätzlich verkehrt diese Binärdaten in einer DB zu speichern, ein Dateisystem ist eben auch nur eine Datenbank, halt etwas primitiv
Leichen bekommt man schnell: Datei hochgeladen, aber die "Transaktion" dann abgebrochen, bevor der Eintrag mit dem Link in die DB geschrieben wurde -> Leiche
Was passiert wenn ein Backup eingespielt werden muss?
Dann muss man nicht nur die DB restoren, sondern auch den alten Zustand der Dateien im Dateisystem, mehr Aufwand, etc. pp.
Alles in allem ist es sauberer (eben was ich mit "proffessioneller" meinte), solche Daten in einer richtigen DB zu speichern, aber eben etwas aufwändiger am Anfang.