Comment télécharger des images et implémenter des règles de dénomination spécifiques en PHP

PHPz
Libérer: 2023-04-11 13:52:01
original
1016 Les gens l'ont consulté

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>
Copier après la connexion

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.";
    }
}
?>
Copier après la connexion

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));
...
Copier après la connexion

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));
...
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!