Maison > développement back-end > tutoriel php > Comment utiliser les tableaux PHP pour implémenter les fonctions de téléchargement et de téléchargement de fichiers

Comment utiliser les tableaux PHP pour implémenter les fonctions de téléchargement et de téléchargement de fichiers

王林
Libérer: 2023-07-16 10:18:02
original
1411 Les gens l'ont consulté

Comment utiliser les tableaux PHP pour implémenter les fonctions de téléchargement et de téléchargement de fichiers

1 Présentation
Le téléchargement et le téléchargement de fichiers sont l'une des fonctions courantes dans les applications Web. Le tableau PHP est une structure de données très utile qui peut être d'une grande aide lors de la mise en œuvre des fonctions de téléchargement et de téléchargement de fichiers. Cet article expliquera comment utiliser les tableaux PHP pour implémenter les fonctions de téléchargement et de téléchargement de fichiers, et joindra des exemples de code correspondants.

2. Implémentation de la fonction de téléchargement de fichiers

  1. Créer un formulaire
    Tout d'abord, vous devez créer un formulaire HTML pour permettre aux utilisateurs de sélectionner les fichiers à télécharger. Le formulaire nécessite un élément d'entrée et définit son attribut de type sur "file".
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>
Copier après la connexion
Copier après la connexion
  1. Gestion des téléchargements de fichiers
    Côté serveur, un fichier PHP doit être créé pour gérer les téléchargements de fichiers. Tout d'abord, vous devez obtenir les informations pertinentes sur le fichier téléchargé via le tableau $_FILES. Le fichier peut ensuite être déplacé du répertoire temporaire vers le répertoire spécifié via la fonction move_uploaded_file.
<?php
if ($_FILES["file"]["error"] == 0) {
    $filename = $_FILES["file"]["name"];
    $tempname = $_FILES["file"]["tmp_name"];
    $destination = "uploads/" . $filename;
    
    if (move_uploaded_file($tempname, $destination)) {
        echo "文件上传成功!";
    } else {
        echo "文件上传失败!";
    }
} else {
    echo "文件上传发生错误!";
}
?>
Copier après la connexion
Copier après la connexion
  1. Exemple complet
    Ce qui suit est un exemple de code complet de la fonction de téléchargement de fichiers :
<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传文件">
</form>
Copier après la connexion
Copier après la connexion
<?php
if ($_FILES["file"]["error"] == 0) {
    $filename = $_FILES["file"]["name"];
    $tempname = $_FILES["file"]["tmp_name"];
    $destination = "uploads/" . $filename;
    
    if (move_uploaded_file($tempname, $destination)) {
        echo "文件上传成功!";
    } else {
        echo "文件上传失败!";
    }
} else {
    echo "文件上传发生错误!";
}
?>
Copier après la connexion
Copier après la connexion

3. Implémentation de la fonction de téléchargement de fichiers

  1. Créer une liste de fichiers
    Tout d'abord, la liste des fichiers à télécharger. doit être affiché sur la page Web, permettant à l'utilisateur de sélectionner un fichier à télécharger. Ceci peut être réalisé en stockant le nom du fichier dans un tableau PHP et en générant dynamiquement un lien hypertexte sur la page Web.
<?php
$files = array_diff(scandir("uploads/"), array(".", ".."));

foreach ($files as $file) {
    echo "<a href='download.php?file=$file'>$file</a><br>";
}
?>
Copier après la connexion
  1. Gestion des téléchargements de fichiers
    Côté serveur, un fichier PHP doit être créé pour gérer les téléchargements de fichiers. Tout d’abord, vous devez obtenir le nom du fichier à télécharger via le tableau $_GET et envoyer le fichier au navigateur.
<?php
if (isset($_GET["file"])) {
    $filename = $_GET["file"];
    $filepath = "uploads/" . $filename;
    
    if (file_exists($filepath)) {
        header("Content-Disposition: attachment; filename=" . $filename);
        header("Content-Type: application/octet-stream");
        header("Content-Length: " . filesize($filepath));
        readfile($filepath);
    } else {
        echo "文件不存在!";
    }
} else {
    echo "参数错误!";
}
?>
Copier après la connexion
  1. Exemple complet
    Ce qui suit est un exemple de code pour une fonction complète de téléchargement de fichiers :
<?php
$files = array_diff(scandir("uploads/"), array(".", ".."));

foreach ($files as $file) {
    echo "<a href='download.php?file=$file'>$file</a><br>";
}
?>

<?php
if (isset($_GET["file"])) {
    $filename = $_GET["file"];
    $filepath = "uploads/" . $filename;
    
    if (file_exists($filepath)) {
        header("Content-Disposition: attachment; filename=" . $filename);
        header("Content-Type: application/octet-stream");
        header("Content-Length: " . filesize($filepath));
        readfile($filepath);
    } else {
        echo "文件不存在!";
    }
} else {
    echo "参数错误!";
}
?>
Copier après la connexion

IV. Résumé
En utilisant des tableaux PHP, nous pouvons implémenter des fonctions de téléchargement et de téléchargement de fichiers de manière simple et efficace. Lors du téléchargement de fichiers, obtenez des informations relatives au fichier via le tableau $_FILES et utilisez la fonction move_uploaded_file pour déplacer le fichier vers le répertoire spécifié. Lors du téléchargement de fichier, obtenez le nom du fichier à télécharger via le tableau $_GET et envoyez le fichier correspondant au navigateur. J'espère que l'exemple de code de cet article vous sera utile et pourra facilement implémenter les fonctions de téléchargement et de téléchargement 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!

Étiquettes associées:
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