Hello,
Ich will überprüfen, ob die Datei, die hochgeladen wird, bereits im Verzeichnis "/usr/export/www/hosting/hgdomusik/uploads/$target_path)" vorhanden ist. Es soll verhindert werden, dass die Datei, die hochgeladen wird, die bereits vorhandene Datei ersetzt.
Dann kannst Du das mittels passendem Modus beim Öffnen einer NEUEN Datei einstellen:
$fh = fopen($dateiname, 'xb+);
siehe: http://de.php.net/manual/en/function.fopen.php
Die Funktion http://de.php.net/manual/en/function.move-uploaded-file.php gibt diese Möglichkeit nicht.
Ein vorheriges Prüfen mit file_exists() ist sachlich falsch, da Du Dir damit ein TOCTOU-Problem baust.
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use
In einer Multiuserumgebung könnte es nämlich durchaus sein, dass sich zwischen Deine Prüfung mit file_exists() und das anschließende Kopieren des Files ein anderer Prozess gedrängelt hat, der das File ebenfalls angelegt hat. Du würdest dieses dann wieder überschreiben.
Wird nun in der DB nur der Filename für den Owner eingetragen, hat diese Datei plötzlich zwei Owner mit dem Inhalt des letzten Prozesses, der geschrieben hat.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg