Maison > Article > développement back-end > Étapes pour télécharger des fichiers php
Étapes pour le téléchargement de fichiers php : créez d'abord un formulaire de téléchargement de fichiers ; puis créez le fichier de script de téléchargement "upload_file.php" ; puis définissez des restrictions sur le téléchargement de fichiers ;
L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3
Téléchargement de fichiers PHP
Les fichiers peuvent être téléchargés sur le serveur via PHP.
Création d'un formulaire de téléchargement de fichiers
Il est très utile de permettre aux utilisateurs de télécharger des fichiers à partir du formulaire.
Veuillez consulter le formulaire HTML suivant pour télécharger des fichiers :
<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>
Veuillez noter les informations suivantes sur ce formulaire :
ff9c23ada1bcecdd1a0fb5d5a0f18437 le type de contenu à utiliser 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
d5fd7aea971a85678ba271703566ebfd 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.
[Apprentissage recommandé : Tutoriel vidéo PHP]
Créer un script de téléchargement
Le fichier "upload_file.php" contient pour téléchargement du code du fichier :
<?php if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } ?>
En utilisant le tableau global $_FILES de PHP, vous pouvez télécharger des fichiers depuis l'ordinateur client vers un 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 ceci :
$_FILES["file"]["name"] - 被上传文件的名称 $_FILES["file"]["type"] - 被上传文件的类型 $_FILES["file"]["size"] - 被上传文件的大小,以字节计 $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称 $_FILES["file"]["error"] - 由文件上传导致的错误代码
C'est un moyen très simple de télécharger des fichiers. Pour des raisons de sécurité, vous devez ajouter des restrictions quant aux personnes autorisées à télécharger des fichiers.
Limite 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 ou .jpeg, et la taille du fichier doit être inférieure à 20 Ko :
<?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Error: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; } } else { echo "Invalid file"; } ?>
Remarque : Le type permettant de reconnaître les fichiers jpg doit être pjpeg pour IE et jpeg pour FireFox.
Enregistrement du fichier téléchargé
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 :
<?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists("upload/" . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; } } } else { echo "Invalid file"; } ?>
Le script ci-dessus détecte si le fichier existe déjà. S'il n'existe pas, il copie le fichier dans le dossier spécifié.
Remarque : Cet exemple enregistre le fichier dans un nouveau dossier nommé "upload".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!