Maison > Article > développement back-end > PHP implémente le téléchargement de fichiers sur le serveur (y compris le code)
Implémentation PHP du téléchargement de fichiers sur le serveur (y compris le code)
Créer un formulaire de téléchargement de fichiers
Permettre aux utilisateurs de télécharger des fichiers à partir d'un formulaire est très utile.
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 concernant ce formulaire :
1686d0b488bea00ff9d90a6baefdc8c5 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 de téléchargement
Le fichier "upload_file.php" contient le code pour télécharger des fichiers :
<?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 de PHP $_FILES , Vous pouvez télécharger des fichiers depuis un 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"] - Le nom du fichier téléchargé $_FILES["file"]["type"] - Le type du fichier téléchargé $_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"] - Code d'erreur provoqué par le téléchargement de fichiers
Il s'agit d'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"; } ?>
Enregistrez le fichier téléchargé
L'exemple ci-dessus est dans le PHP temporaire du serveur Le dossier crée une copie temporaire du fichier téléchargé.
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".
Commencez à retirer le troisième élément du tableau et renvoyez les éléments restants du tableau :
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,2)); ?>
Merci d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Lien original : https://www.cnblogs.com/yszr/p/10522067.html
Tutoriel recommandé : "tutoriel php"
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!