Maison  >  Article  >  développement back-end  >  Comment télécharger des fichiers et les renommer en php

Comment télécharger des fichiers et les renommer en php

PHPz
PHPzoriginal
2023-03-23 14:11:072238parcourir

PHP est un langage de développement Web couramment utilisé. De nombreux sites Web sont développés et maintenus à l'aide de PHP, et l'une des fonctions les plus courantes est le téléchargement de fichiers. En PHP, bien que le processus de téléchargement de fichiers soit relativement simple, vous rencontrez parfois des situations où vous devez changer le nom du fichier téléchargé.

Cet article explique comment télécharger des fichiers et modifier le nom des fichiers téléchargés en PHP.

1. Télécharger des fichiers

En PHP, le téléchargement de fichiers utilise le tableau super global $_FILES. Ce tableau contient des informations sur le fichier téléchargé, telles que le nom, la taille et le type du fichier téléchargé.

Voici un exemple simple de code de téléchargement de fichier :

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //将上传的文件移动到指定目录
    move_uploaded_file($file_tmp_name, $file_name);
}

Dans le code ci-dessus, utilisez d'abord la fonction isset() pour vérifier si $_FILES['file'] est défini, puis obtenez les détails du fichier téléchargé à partir du tableau super global, comprenant le nom de fichier, le nom de fichier temporaire, la taille du fichier, le type de fichier et le message d'erreur. Enfin, utilisez la fonction move_uploaded_file() pour déplacer le fichier du dossier temporaire vers le répertoire spécifié.

2. Changez le nom du fichier téléchargé

Supposons que nous devions renommer le fichier téléchargé pour éviter les conflits de noms de fichiers ou augmenter la sécurité. La modification du nom de fichier peut être effectuée à l'aide de fonctions prêtes à l'emploi en PHP.

Fonction 1 : rename()

Vous pouvez utiliser la fonction rename() pour changer le nom du fichier téléchargé. La fonction rename() a deux paramètres, le nom du fichier d'origine et le nouveau nom du fichier.

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //将上传的文件移动到指定目录,并改变文件名称
    $new_name = "newfile.jpg";
    $new_path = "uploads/".$new_name;
    move_uploaded_file($file_tmp_name, $new_path);
    
    rename($new_path, "uploads/".rand(1000, 9999)."_".$new_name);
}

Dans le code ci-dessus, déplacez d'abord le fichier téléchargé vers le répertoire spécifié et changez le nom du fichier téléchargé en newfile.jpg. Ensuite, utilisez la fonction rename() pour changer le nom du fichier en un nombre aléatoire avec un trait de soulignement et le nom de fichier d'origine newfile.jpg. L'utilisation de nombres aléatoires et d'horodatages peut éviter la duplication des noms de fichiers et améliorer la sécurité des téléchargements de fichiers.

Fonction 2 : move_uploaded_file()

Lors du déplacement et du téléchargement de fichiers, vous pouvez directement utiliser la fonction move_uploaded_file() pour modifier le nom du fichier.

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //修改上传文件的名称
    $new_name = "newfile.jpg";
    move_uploaded_file($file_tmp_name, "uploads/".rand(1000, 9999)."_".$new_name);
}

Dans le code ci-dessus, obtenez d'abord les détails du fichier téléchargé, puis déplacez le fichier téléchargé vers le répertoire spécifié et remplacez le nom du fichier par un nombre aléatoire avec un trait de soulignement et un nouveau nom de fichier newfile.jpg.

Résumé

Dans cet article, nous avons présenté deux méthodes pour télécharger des fichiers en PHP et changer le nom du fichier téléchargé : en utilisant la fonction rename() et la fonction move_uploaded_file(). Concernant la sécurité et la stabilité de la fonction de téléchargement de fichiers, les deux méthodes présentent des avantages et des inconvénients, et vous devez choisir en fonction de la situation réelle. Dans tous les cas, de bonnes pratiques de codage doivent être suivies pour garantir la sécurité et la fiabilité des téléchargements de fichiers.

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!

Déclaration:
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