Frage von NeueFrage2, 38

PHP Script, das den Namen ändert, wenn die hochgeladene Datei existiert?

Hallöchen, ich habe da ein kleines Problem.

Ich habe diesen PHP Script

PHP

  1. <?php
  2. $allowed = array('png', 'jpg', 'gif','zip');
  3. if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){
  4. $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION);
  5. if(!in_array(strtolower($extension), $allowed)){
  6. echo '{"status":"error"}';
  7. exit;
  8. }
  9. if(move_uploaded_file($_FILES['upl']['tmp_name'], 'upload/'.$_FILES['upl']['name'])){
  10. echo '{"status":"success"}';
  11. exit;
  12. }
  13. }
  14. echo '{"status":"error"}';
  15. exit;

PHP

Dieser funktioniert auch einwandfrei, jechdoch, werden Dateien, die bereits existieren (mit dem gleichen Namen) überschrieben. Wie kann ich es machen, dass die Dateien, wenn sie schon vorhanden sind, anders benannt werden? Beispielsweise mit einer Zahl dahinter?

Vielen Dank für die Hilfe.

Gruß

Antwort
von yerooke, 31

Schau dir mal die Funktion file_exists von PHP mal an:

http://php.net/manual/de/function.file-exists.php

Kommentar von NeueFrage2 ,

Hey, das habe ich schon gesehen, jedoch steht da nur, das ein echo ausgegeben wird, und nicht, dass die Datei umbenannt wird?

Kommentar von yerooke ,

Prüfen und Umbennenen musst du selber :) PHP stellt Dir die Funktion zur Überprüfung zur Verfügung.

Antwort
von fluffiknuffi, 12

Grundsätzlich kannst du mit rename() Dateien umbennenen: 

http://php.net/manual/de/function.rename.php

Allerdings weiß ich nicht ob das in deinem Fall wirklich nötig ist.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten