Maison > Article > développement back-end > Comment télécharger des images et implémenter des règles de dénomination spécifiques en PHP
PHP est un langage de programmation très populaire et il est utilisé pour développer de nombreuses applications Web. Le téléchargement d'images est l'une des fonctions courantes dans les applications Web. Nous devons généralement renommer les images téléchargées ou utiliser des règles de dénomination spécifiques.
Cet article expliquera comment télécharger des images en PHP et implémenter des règles de dénomination spécifiques.
1. Téléchargement d'images de base
Tout d'abord, nous devons créer un formulaire pour accepter que les utilisateurs téléchargent des fichiers. Le formulaire doit contenir un élément d'entrée de fichier, un bouton de soumission et un attribut d'action pointant vers le script PHP qui gère le téléchargement.
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload Image" name="submit"> </form>
Le code ci-dessus indique au navigateur que les données doivent être codées en tant que "multipart/form-data" lors de la soumission du formulaire. Cette méthode de codage peut être utilisée pour télécharger des fichiers.
Ci-dessous se trouve le code PHP qui gère le téléchargement, où nous implémenterons la règle de renommage.
<?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Check if image file is a actual image or fake image if(isset($_POST["submit"])) { $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); if($check !== false) { echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } } // Check if file already exists if (file_exists($target_file)) { echo "Sorry, file already exists."; $uploadOk = 0; } // Check file size if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Sorry, your file is too large."; $uploadOk = 0; } // Allow certain file formats if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $uploadOk = 0; } // Check if $uploadOk is set to 0 by an error if ($uploadOk == 0) { echo "Sorry, your file was not uploaded."; // if everything is ok, try to upload file } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } } ?>
2. Règles de nommage de fichiers spécifiques
Maintenant, nous allons modifier le code PHP pour implémenter des règles de renommage basées sur la date et l'heure actuelles.
<?php $target_dir = "uploads/"; $timestamp = date("YmdHis"); $target_file = $target_dir . $timestamp . '.' . pathinfo($_FILES["fileToUpload"]["name"], PATHINFO_EXTENSION); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); ...
Dans cet exemple, nous stockons la date et l'heure actuelles dans la variable $timestamp. Nous renommeons ensuite les fichiers téléchargés en $timestamp.extension pour garantir que chaque fichier téléchargé a un nom unique.
3. Règles de dénomination qui conservent le nom de fichier d'origine mais ajoutent un préfixe
Maintenant, nous allons modifier le code PHP pour implémenter la règle de renommage qui conserve le nom de fichier d'origine, mais ajoute un préfixe.
<?php $target_dir = "uploads/"; $prefix = "myprefix_"; $target_file = $target_dir . $prefix . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); ...
Dans cet exemple, nous ajoutons la variable de préfixe prédéfinie au nom d'origine du fichier téléchargé. Cela produira des noms de fichiers préfixés par "myprefix_".
Résumé :
Le téléchargement et le renommage de fichiers sont faciles en PHP. Cet article montre comment renommer les fichiers téléchargés en fonction de la date et de l'heure actuelles ou en ajoutant un préfixe. Vous pouvez modifier le code pour implémenter différentes règles de renommage en fonction de vos besoins. Après avoir téléchargé le fichier, vous pouvez également l'enregistrer dans une base de données ou créer une vignette. J'espère que cet article vous aidera !
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!