Quicks: Datei auf dem server herumkopieren

Hi

Ich habe folgendes problem:

auf meinem server liegt eine datei.
ich will nun eine aktuellere des gleichen namens dort hin kopieren.
die alte will ich jedoch vorher sichern und mit datum versehen.
das ganze soll im prinzip so aussehen:

ich wähle in einer form (type=file) eine datei aus und lade sie up. die dateidaten speichere ich in $file
dann überprüfe ich ob es diese datei schon auf dem server gibt.

if ( file_exists("../swnfaqs/".$file_name) )

wenn nicht kopiere ich die datei auf den server in das verzeichnis "../swnfaqs/"

copy($file,"../swnfaqs/".$file_name)

das klappt soweit.

gibt es jetzt aber schon eine datei diesen namens soll er die schon auf dem server vorhandene datei nach ../swnfaqs_alt/ kopieren und vor den namen das aktuelle datum schreiben.
dann erst soll die neue datei kopiert weden.

mein problem liegt nun im kopiervorgang auf dem server.
Ich denke mir das so in der richtung:

...
$filealt = ???????;
$datum = date("Y-m-d");
$filenamealt = $datum.$filealt_name;
copy($filealt,"../swnfaqs_alt/".$filenamealt)
...

aber wie weise ich die file auf dem server der variablen $filealt zu ?
Oder geht es ganz anders ?
ich habs auch schon mit move_uploaded_file() probiert, klappt aber au net und da kann ich auch den namen net ändern.

Wenn da jemand ne lösung hat... dafür wär ich unheimlich dankbar.
vielen dank schonmal

Quicks

  1. Hi Quicks

    ich hab mir mal eine Funktion gebaut, die schaut ob die Zieldatei bereits existiert und wenn ja eine Indexzahl anhängt.
    Evtl. kannst Du Dir das für Deine Zwecke anpassen.

    Die Funktion liefert als Rückgabewert den Namen unter dem die Datei dann letzendlich gespeichert wurde.

    Viele Grüße

    lulu

    function copy_picture($source,$target)
    {
     list($name,$suffix)=explode('.',basename($target));

    while (is_file($target)){
      $c++;
      $target=dirname($target).'/'.$name."_".$c.'.'.$suffix;
     }

    if (!copy ($source,$target)){
      print ("Fehler beim kopieren von ".$source." nach ".$target);
     }
     return $target;
    }

    1. also vielen dank erstmal.
      aber ich brauch eine funktion die eine datei von folder a auf dem server zu folder b auf dem server kopiert und den namen ändert
      sowas bräucht ich
      Grüße
      Quicks