Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

move_uploaded_file

Dateisystem-Funktionen

    Befehl:
bool move_uploaded_file ( string $filename , string $destination )


    Parameter-Liste:
NameBeschreibung
filenameDer Dateiname der hochgeladenen Datei.
destinationDas Ziel des bewegten Datei.

    Rückgabewerte:
Gibt bei Erfolg TRUE zurück.

Wenn filename keine gültige Datei ist, wird keine Aktion ausgeführt, und move_uploaded_file() FALSE zurück.

Wenn filename eine gültige Datei ist, kann aber aus irgendeinem Grund nicht bewegt werden kann, wird keine Aktion ausgeführt, und move_uploaded_file() FALSE zurück. Zusätzlich wird eine Warnung ausgegeben.

    Beschreibung:
Diese Funktion prüft, ob die mit filename bezeichnete Datei eine gültige Upload-Datei ist (d.h., dass sie mittels PHP's HTTP POST Upload-Mechanismus upgeloaded wurde). Ist die Datei gültig, wird sie zum in destination bezeichneten Dateinamen verschoben.

Wenn filename keine gültige Datei ist, wird keine Aktion ausgeführt, und move_uploaded_file() gibt FALSE zurück.

Wenn filename eine gültige Datei ist, 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.

Diese Prüfung ist speziell dort interessant, wo irgendeine Aktion mit upgeloadeten Dateien deren Inhalt dem User zugänglich machen könnte (oder auch anderen Usern auf dem selben System).


    Aktiv in Version:
(PHP 4 >= 4.0.3, PHP 5, PHP 7)

    Hinweis:
Hinweis:

move_uploaded_file() sowohl abgesicherten Modus und open_basedir bekannt. Allerdings sind Einschränkungen nur auf der Ziel Weg gelegt zu ermöglichen, dass die Bewegungs der hochgeladenen Dateien, in denen Dateiname kann mit solchen Beschränkungen entgegenstehen. move_uploaded_file() sorgt für die Sicherheit der Operation, indem nur die Dateien durch PHP hochgeladen bewegt werden.


    Warnung:
Warnung:

Wenn die Zieldatei bereits existiert, wird sie überschrieben.


    Siehe auch:
Prüft, ob die Datei mittels HTTP-POST upgeloadet wurde
 
Benennt eine Datei oder ein Verzeichnis
 

move_uploaded_file() - Beispiel:


Eingabe:
<?PHP
if ( ! empty ( $_FILES['file']['name'] ) )
{
  if ( @ copy ( $_FILES['file']['tmp_name'],
                'tmp/' . $_FILES['file']['name'] ) )
  {
    if ( move_uploaded_file ( $_FILES['file']['tmp_name'], 'tmp/test.txt' ) )
    {
      echo '<b>Upload beendet!</b>';
    }
  }
}
else
{
?>

<html>
  <head>
  </head>
  <body>
    <form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post"
          enctype="multipart/form-data">
      <input type="file" name="file" value="" />
      <br />
      <input type="submit" name="Abschicken" value="Upload beginnen" />
    </form>
  </body>
</html>

<?PHP
}
?>


Ausgabe:
Upload beendet!
move_uploaded_file() - Beispiel 2: Upload mehrerer Dateien


Eingabe:
<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

Dateisystem-Funktionen