move_uploaded_file
(PHP 4 >= 4.0.3, PHP 5)
move_uploaded_file — Déplace un fichier téléchargé
Description
$filename
, string $destination
)
S'assure que le fichier filename
est un fichier
téléchargé par HTTP POST. Si le fichier est valide, il est déplacé
jusqu'à destination
.
Ce type de vérification est spécialement important s'il est possible que les fichiers téléchargés révèlent leur contenu à l'utilisateur, ou même aux utilisateurs du même système.
Liste de paramètres
-
filename
-
Le nom du fichier téléchargé.
-
destination
-
La destination du fichier déplacé.
Valeurs de retour
Retourne TRUE
en cas de succès.
Si filename
n'est pas valide, rien ne se passe,
et move_uploaded_file() retournera FALSE
.
Si filename
est un fichier téléchargé,
mais que pour une raison quelconque, il ne peut être déplacé,
rien ne se passe, et move_uploaded_file()
retourne FALSE
. De plus, une alerte sera affichée.
Exemples
Exemple #1 Téléchargement de plusieurs fichiers
<?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");
}
}
?>
Notes
Note:
move_uploaded_file() n'est pas affectée par les restrictions liées au safe mode et à l'open_basedir. Cependant, les restrictions sont placées uniquement sur le paramètre
destination
qui permet le déplacement des fichiers chargés dans lesquelsfilename
peut entrer en conflit avec ces restrictions. move_uploaded_file() permet de s'assurer de la sécurité de cette opération en autorisant le déplacement des seuls fichiers chargés via PHP.
Si le fichier de destination existe déjà, il sera écrasé.
Voir aussi
- is_uploaded_file() - Indique si le fichier a été téléchargé par HTTP POST
- rename() - Renomme un fichier ou un dossier
- Voir la section sur les téléchargements de fichiers pour un exemple d'utilisation