Téléchargement de fichiers PHP
Téléchargement de fichiers PHP
Grâce à PHP, vous pouvez télécharger des fichiers sur le serveur.
L'exemple de ce chapitre est réalisé dans le cadre du projet de test La structure du répertoire est :
test
|-----upload # Répertoire pour. téléchargement de fichiers
|-----form.html à >
Permettre aux utilisateurs de télécharger des fichiers à partir d'un formulaire est très utile. Regardez le formulaire HTML ci-dessous pour télécharger des fichiers :Enregistrez le code ci-dessus dans le fichier form.html.php中文网(php.cn)
<关> Certains éléments d'attention concernant le formulaire HTML ci-dessus sont répertoriés comme suit : 关>
· L'attribut & LT; labeling enableype spécifie quel type de contenu doit être utilisé lors de la soumission du formulaire. Utilisez "multipart/form-data" lorsque votre formulaire nécessite des données binaires, telles que le contenu d'un fichier.
· L'attribut type="file" de la balise spécifie que l'entrée doit être traitée comme un fichier. Par exemple, lors de la prévisualisation dans un navigateur, vous verrez un bouton Parcourir à côté de la zone de saisie.
Remarque : autoriser les utilisateurs à télécharger des fichiers constitue un risque de sécurité énorme. Veuillez autoriser uniquement les utilisateurs de confiance à effectuer des opérations de téléchargement de fichiers.
Créer un script d'uploadLe fichier "upload_file.php" contient le code d'upload des fichiers :
0) { echo "错误:" . $_FILES["file"]["error"] . "
"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "
"; echo "文件类型: " . $_FILES["file"]["type"] . "
"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB
"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"]; } ?>
Par en utilisant PHP Le tableau global $_FILES vous permet de télécharger des fichiers de l'ordinateur client vers le serveur distant.
Le premier paramètre est le nom d'entrée du formulaire, et le deuxième indice peut être "name", "type", "size", "tmp_name" ou "error". Comme indiqué ci-dessous :· $ _files ["file"] ["name"] -Le nom des fichiers téléchargés
· $ _files [""] ["type"] - Télécharger le fichier Type de
· $_FILES["file"]["size"] - La taille du fichier téléchargé, en octets
· $_FILES["file"]["tmp_name"] - Le nom de la copie temporaire du fichier stocké sur le serveur
· $_FILES["file"]["error"] - Le code d'erreur provoqué par le téléchargement du fichier
Ceci est une méthode de téléchargement de fichiers très simple. Pour des raisons de sécurité, vous devez ajouter des restrictions sur les personnes autorisées à télécharger des fichiers.
Limitation de téléchargement
Dans ce script, nous avons ajouté une limite sur les téléchargements de fichiers. Les utilisateurs ne peuvent télécharger que des fichiers .gif, .jpeg, .jpg, .png et la taille du fichier doit être inférieure à 200 Ko :
0) { echo "错误:: " . $_FILES["file"]["error"] . "Enregistrez le fichier téléchargé
"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "
"; echo "文件类型: " . $_FILES["file"]["type"] . "
"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB
"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"]; } } else { echo "非法的文件格式"; } ?>
L'exemple ci-dessus crée une copie temporaire du fichier téléchargé dans le dossier temporaire PHP du serveur.
Cette copie temporaire disparaîtra à la fin du script. Pour enregistrer le fichier téléchargé, nous devons le copier vers un autre emplacement :
0) { echo "错误:: " . $_FILES["file"]["error"] . "
"; } else { echo "上传文件名: " . $_FILES["file"]["name"] . "
"; echo "文件类型: " . $_FILES["file"]["type"] . "
"; echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB
"; echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "
"; // 判断当期目录下的 upload 目录是否存在该文件 // 如果没有 upload 目录,你需要创建它,upload 目录权限为 777 if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " 文件已经存在。 "; } else { // 如果 upload 目录不存在该文件则将文件上传到 upload 目录下 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "文件存储在: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "非法的文件格式"; } ?>
Le script ci-dessus vérifie si le fichier existe déjà. S'il n'existe pas, il copie le fichier dans un répertoire nommé "upload" Down. .