move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
move_uploaded_file — Verschiebt eine hochgeladene Datei an einen neuen Ort
Beschreibung
$from, string $to): bool
   Diese Funktion prüft, dass die mit from
   bezeichnete Datei eine gültige Upload-Datei ist (d.h., dass sie
   mittels PHP's HTTP POST Upload-Mechanismus hochgeladen wurde).
   Ist die Datei gültig, wird sie zum in
   to bezeichneten Dateinamen
   verschoben.
  
Diese Art der Prüfung ist besonders wichtig, wo irgendeine Aktion mit hochgeladenen Dateien deren Inhalt dem User zugänglich machen könnte, oder gar anderen Usern auf dem selben System.
Parameter-Liste
- 
from
- 
      Der Dateiname der hochgeladenen Datei. 
- 
to
- 
      Das Ziel der zu verschiebenden Datei. 
Rückgabewerte
   Gibt bei Erfolg true zurück.
  
   Ist from keine gültige Datei, wird keine Aktion
   ausgeführt, und move_uploaded_file() gibt false zurück.
  
   Ist from eine gültige Datei, jedoch
   aus irgendeinem Grund nicht verschoben werden kann, wird keine
   Aktion ausgeführt, und move_uploaded_file()
   gibt false zurück. Zusätzlich wird eine Warnung
   ausgegeben.
  
Beispiele
Beispiel #1 Hochladen mehrerer Dateien
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        // basename() kann Directory-Traversal-Angriffe verhindern;
        // weitere Validierung/Bereinigung des Dateinamens kann angebracht sein
        $name = basename($_FILES["pictures"]["name"][$key]);
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>
Anmerkungen
Hinweis:
move_uploaded_file() berücksichtigt open_basedir. Allerdings werden die Beschränkungen nur auf den
toPfad angewandt, um das Verschieben von hochgeladenen Dateien zu erlauben, bei denen sichfrommit den Beschränkungen im Konflikt befinden könnte. move_uploaded_file() gewährleistet die Sicherheit dieser Operation dadurch, dass nur diejenigen Dateien verschoben werden dürfen, die mit PHP hochgeladen wurden.
Existiert die Zieldatei bereits, wird sie überschrieben.
Siehe auch
- is_uploaded_file() - Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
- rename() - Benennt eine Datei oder ein Verzeichnis um
- See Handling file uploads for a simple usage example
 
                     
                     
                     
                     
                    
 
          