Maison  >  Article  >  développement back-end  >  Premiers pas avec PHP : chargement et téléchargement de fichiers

Premiers pas avec PHP : chargement et téléchargement de fichiers

WBOY
WBOYoriginal
2023-05-22 10:51:061458parcourir

Dans le développement Web, le téléchargement de fichiers est une exigence très courante. Que les utilisateurs téléchargent des avatars ou des documents, ou que les administrateurs demandent aux utilisateurs de télécharger un fichier, cette fonction est nécessaire. En tant que langage puissant côté serveur, PHP fournit naturellement de puissantes fonctions d'opération de fichiers et des bibliothèques de classes, nous permettant d'implémenter facilement des fonctions de téléchargement et de téléchargement de fichiers.

Cet article présentera le processus de base et les fonctions courantes pour implémenter le téléchargement et le téléchargement de fichiers en PHP, et fournira un exemple de code. Si vous êtes un débutant PHP ou si vous apprenez les opérations sur les fichiers, j'espère que cet article pourra vous fournir des conseils et de l'aide.

Téléchargement de fichiers

En PHP, le téléchargement de fichiers est implémenté via le protocole HTTP, c'est-à-dire que via un formulaire, l'utilisateur peut sélectionner un fichier local et le télécharger sur le serveur supérieur. Les fonctions que nous devons utiliser sont la variable globale $_FILES et la fonction move_uploaded_file().

Tout d'abord, nous devons écrire un formulaire HTML sur le front-end. Le code est le suivant :

<form method="post" action="upload.php" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>

Il convient de noter que nous devons définir la méthode du formulaire à publier, l'action sur le fichier php pour le téléchargement du fichier de traitement en arrière-plan et l'enctype sur multipart/ données de formulaire. Prise en charge du téléchargement de fichiers.

Ensuite, nous écrivons du code dans le fichier upload.php en arrière-plan pour gérer les téléchargements de fichiers. Le code est le suivant :

<?php
if(isset($_FILES['file'])){
    $file = $_FILES['file'];
    $filename = $file['name'];
    $tmp_name = $file['tmp_name'];
    $target_path = "./uploads/".$filename;
    move_uploaded_file($tmp_name, $target_path);
    echo "文件上传成功";
}
?>

Utilisez if pour déterminer si un fichier a été téléchargé et obtenez diverses informations sur le fichier à partir du tableau $_FILES. $file['name'] représente le nom du fichier, $file['tmp_name'] représente le chemin du fichier temporaire. Nous devons le déplacer vers l'emplacement spécifié sur le serveur, en supposant qu'il s'agit du répertoire "./uploads/", et enfin afficher un message de téléchargement réussi.

Téléchargement de fichiers

Le téléchargement de fichiers signifie que l'utilisateur peut télécharger un fichier du serveur vers le local en cliquant sur un lien ou un bouton. Les fonctions que nous devons utiliser sont la fonction header() et la fonction readfile().

Tout d'abord, nous devons définir les autorisations d'accès aux fichiers sur le serveur afin que les utilisateurs puissent les télécharger. Nous pouvons le configurer via le fichier .htaccess ou le fichier de configuration du serveur Web.

Ensuite, nous écrivons du code HTML sur le front-end pour générer le lien de téléchargement. Le code est le suivant :

<a href="download.php?filename=test.pdf">点击下载文件</a>

Il est à noter que nous devons définir le href du lien vers le fichier php téléchargé par le fichier de traitement en arrière-plan, et également apporter le nom du fichier en tant que paramètre dans le lien.

Enfin, nous écrivons du code dans le fichier download.php en arrière-plan pour gérer les téléchargements de fichiers. Le code est le suivant :

<?php
if(isset($_GET['filename'])){
    $filename = "./uploads/".$_GET['filename'];
    if(file_exists($filename)){
        header('Content-type: application/pdf');
        header('Content-Disposition: attachment; filename="'.basename($filename).'"');
        readfile($filename);
        exit;
    }else{
        echo "文件不存在";
    }
}
?>

Utilisez if pour déterminer si un paramètre de nom de fichier est transmis et génèrez le chemin absolu du fichier en fonction du nom de fichier. Si le fichier existe, nous devons définir Content-type sur le type de fichier (supposé être de type PDF ici) et Content-Disposition sur attachment, ce qui signifie télécharger en pièce jointe et afficher le contenu du fichier. Enfin, ajoutez exit pour empêcher le navigateur de générer d'autres contenus.

Résumé

Grâce à la brève introduction de cet article, je pense que les lecteurs auront une compréhension plus approfondie du téléchargement et du téléchargement de fichiers en PHP. Il convient de noter que les opérations de téléchargement et de téléchargement de fichiers doivent prendre en compte la sécurité et l'expérience utilisateur, telles que la limitation de la taille et du type de fichiers téléchargés, l'anti-sauvetage des liens de téléchargement, etc. J'espère que les lecteurs prêteront également attention à ces détails lors de la mise en œuvre des opérations sur les 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