move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
move_uploaded_file — Verschiebt eine hochgeladene Datei an einen neuen Ort
Beschreibung
$filename
, string $destination
) : bool
Diese Funktion prüft, dass die mit filename
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
destination
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
-
filename
-
Der Dateiname der hochgeladenen Datei.
-
destination
-
Das Ziel der zu verschiebenden Datei.
Rückgabewerte
Gibt bei Erfolg TRUE
zurück.
Ist filename
keine gültige Datei, wird keine Aktion
ausgeführt, und move_uploaded_file() gibt FALSE
zurück.
Ist filename
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 sowohl Safe Mode wie auch open_basedir. Allerdings werden die Beschränkungen nur auf den
destination
Pfad angewandt, um das Verschieben von hochgeladenen Dateien zu erlauben, bei denen sichfilename
mit 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
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-move-uploaded-file.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.