Maison > Article > développement back-end > Guide de téléchargement de fichiers PHP : Comment utiliser la fonction move_uploaded_file pour gérer les fichiers téléchargés
Guide de téléchargement de fichiers PHP : Comment utiliser la fonction move_uploaded_file pour gérer les fichiers téléchargés
Dans le développement d'applications Web, le téléchargement de fichiers est une exigence courante. PHP fournit une fonction pratique move_uploaded_file() pour traiter les fichiers téléchargés. Cet article vous présentera comment utiliser cette fonction pour implémenter la fonction de téléchargement de fichiers.
1. Préparation
Avant de commencer, assurez-vous que votre environnement PHP a été configuré avec les paramètres de téléchargement de fichiers. Vous pouvez le confirmer en ouvrant le fichier php.ini et en recherchant le paramètre "file_uploads". Si la valeur de ce paramètre est "Off", veuillez la remplacer par "on", enregistrez le fichier et redémarrez le serveur.
2. Créer un formulaire de téléchargement de fichier
Tout d'abord, nous devons créer un champ de saisie de téléchargement de fichier dans le formulaire HTML. Voici un exemple simple :
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="上传文件" name="submit"> </form>
Dans le code ci-dessus, nous utilisons enctype="multipart/form-data"
pour spécifier que le formulaire contient un champ de saisie pour le téléchargement de fichiers. enctype="multipart/form-data"
来指定表单中包含了一个文件上传的输入域。
三、处理文件上传请求
接下来,我们需要创建一个PHP脚本来处理文件上传请求。在该脚本中,我们将使用move_uploaded_file()
函数来保存上传的文件。以下是一个基本的示例:
<?php $targetDir = "uploads/"; if(isset($_POST["submit"])){ $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION)); // 检查文件是否已经存在 if (file_exists($targetFile)) { echo "文件已经存在。"; $uploadOk = 0; } // 检查文件大小 if ($_FILES["fileToUpload"]["size"] > 500000) { echo "文件大小超过限制。"; $uploadOk = 0; } // 允许的文件格式 if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "只允许上传JPG, JPEG, PNG, GIF格式的文件。"; $uploadOk = 0; } // 检查上传是否成功 if ($uploadOk == 0) { echo "文件上传失败。"; } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) { echo "文件上传成功。"; } else { echo "文件上传失败。"; } } } ?>
在上面的代码中,我们首先定义了一个目标文件夹$targetDir
,用来存储上传的文件。然后,我们通过$_FILES["fileToUpload"]
获取上传文件的信息,并使用basename()
函数获取上传文件的文件名。
接下来,我们对上传的文件进行一些检查,如判断文件是否已经存在、文件大小是否超过限制以及文件格式是否符合要求。如果检查通过,我们就可以使用move_uploaded_file()
move_uploaded_file()
pour enregistrer le fichier téléchargé. Voici un exemple de base : <?php if(isset($_FILES["fileToUpload"]["name"])) { echo "上传的文件名:" . $_FILES["fileToUpload"]["name"] . "<br>"; echo "文件类型:" . $_FILES["fileToUpload"]["type"] . "<br>"; echo "文件大小:" . ($_FILES["fileToUpload"]["size"] / 1024) . " KB<br>"; } ?>Dans le code ci-dessus, nous définissons d'abord un dossier cible
$targetDir
pour stocker les fichiers téléchargés. Ensuite, nous obtenons les informations du fichier téléchargé via $_FILES["fileToUpload"]
, et utilisons la fonction basename()
pour obtenir le nom de fichier du fichier téléchargé. Ensuite, nous effectuons quelques vérifications sur les fichiers téléchargés, par exemple en déterminant si le fichier existe déjà, si la taille du fichier dépasse la limite et si le format de fichier répond aux exigences. Si la vérification réussit, nous pouvons utiliser la fonction move_uploaded_file()
pour déplacer le fichier du répertoire temporaire vers le dossier cible. 4. Afficher les résultats du téléchargementEnfin, nous pouvons afficher les résultats du téléchargement en affichant les résultats sur la page du formulaire de téléchargement de fichier. Voici un exemple simple : rrreee
Le code ci-dessus affichera le nom du fichier téléchargé, le type de fichier et la taille du fichier une fois le téléchargement du fichier terminé.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!