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

王林
王林original
2023-07-16 10:16:391428parcourir

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>
  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 "文件上传发生错误!";
}
?>
  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>
<?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 "文件上传发生错误!";
}
?>

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>";
}
?>
  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 "参数错误!";
}
?>
  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 "参数错误!";
}
?>

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!

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