Maison développement back-end tutoriel php Liste complète des fonctions de téléchargement de fichiers PHP : Analyse des exemples de téléchargement de fichiers de readfile, header, Content-Disposition et autres fonctions

Liste complète des fonctions de téléchargement de fichiers PHP : Analyse des exemples de téléchargement de fichiers de readfile, header, Content-Disposition et autres fonctions

Nov 18, 2023 pm 03:26 PM
header 文件下载 readfile content-disposition

Liste complète des fonctions de téléchargement de fichiers PHP : Analyse des exemples de téléchargement de fichiers de readfile, header, Content-Disposition et autres fonctions

Liste complète des fonctions de téléchargement de fichiers PHP : analyse des exemples de téléchargement de fichiers de readfile, d'en-tête, de disposition de contenu et d'autres fonctions

Le téléchargement de fichiers est l'une des fonctions essentielles des applications Web, et PHP, en tant que Web largement utilisé Le langage de développement offre une variété de fonctions et de méthodes de téléchargement de fichiers.

Cet article présentera les fonctions de téléchargement de fichiers couramment utilisées en PHP, notamment readfile, header, Content-Disposition, etc., et montrera des exemples de code correspondants pour aider chacun à mieux comprendre et maîtriser la mise en œuvre du téléchargement de fichiers.

1. Fonction readfile()

La fonction readfile() est l'une des fonctions de téléchargement de fichiers les plus couramment utilisées en PHP. Elle est utilisée pour lire des fichiers et les envoyer au flux de sortie. Ce qui suit est un exemple de syntaxe de base d'utilisation de la fonction readfile() pour télécharger un fichier :

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    readfile($file);
    exit;
}
Copier après la connexion

Le code ci-dessus vérifie d'abord si le fichier existe, puis définit divers paramètres du flux de sortie et enfin utilise la fonction readfile() pour lire et envoyer le fichier au flux de sortie . L'avantage d'utiliser la fonction readfile() est qu'elle est pratique et rapide, et que la quantité de code est faible. Mais les inconvénients sont également évidents. Cette fonction lira l'intégralité du fichier dans la mémoire en une seule fois, puis l'enverra si le fichier est trop volumineux, cela peut provoquer un goulot d'étranglement dans les performances du serveur.

2. Fonction Header()

La fonction header() peut être utilisée pour envoyer des en-têtes HTTP. Elle est généralement utilisée en combinaison avec la fonction readfile() pour implémenter le téléchargement de fichiers. La fonction header() peut définir divers en-têtes HTTP, notamment Content-Type, Content-Disposition, Content-Length, etc.

Ce qui suit est un exemple d'utilisation de la fonction header() et de la fonction readfile() pour implémenter le téléchargement de fichiers :

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
Copier après la connexion

Le code ci-dessus est similaire à l'exemple de code précédent, la seule différence est que ob_clean() et flush () des fonctions sont ajoutées. La fonction ob_clean() peut effacer le tampon de sortie pour garantir que les en-têtes de réponse peuvent être envoyés correctement. La fonction flush() peut forcer l'envoi de toutes les sorties au client.

3. Content-Disposition

Content-Disposition est un en-tête HTTP qui indique comment gérer les données transmises, par exemple s'il faut télécharger le fichier en tant que « pièce jointe ». En définissant l'en-tête Content-Disposition, nous pouvons spécifier le nom du fichier lors du téléchargement.

Voici un exemple d'utilisation de l'en-tête Content-Disposition pour implémenter le téléchargement de fichiers :

$file = 'example.txt';
if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="example.txt"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
Copier après la connexion

Par rapport à l'exemple de code précédent, cette fois nous avons spécifié le nom du fichier dans l'en-tête Content-Disposition sans utiliser la fonction basename() Extraire le nom du fichier à partir du chemin du fichier. Il convient de noter que les guillemets dans filename="example.txt" sont obligatoires, sinon le navigateur peut provoquer des erreurs d'analyse lorsque le nom du fichier contient des espaces.

Autres remarques

Lors de l'utilisation de la fonction de téléchargement de fichiers, nous devons également faire attention aux points suivants :

1. Le chemin du fichier doit être un chemin relatif ou un chemin absolu, pas une URL, sinon le téléchargement échouera. .

2. Lorsque vous utilisez la fonction header() pour définir l'en-tête HTTP, elle doit être appelée avant de générer un contenu.

3. L'ajout des fonctions ob_clean() et flush() peut éviter le problème de l'échec de l'envoi de certains en-têtes de réponse.

4. Si le fichier téléchargé est très volumineux, vous devriez envisager de le télécharger par segments ou d'utiliser d'autres méthodes d'optimisation de téléchargement.

Résumé

Les fonctions de téléchargement de fichiers PHP incluent principalement le fichier de lecture, l'en-tête, la disposition du contenu, etc. L'utilisation de ces fonctions peut implémenter rapidement et facilement la fonction de téléchargement de fichiers, mais vous devez faire attention aux problèmes tels que les chemins de fichiers, les paramètres d'en-tête HTTP, le nettoyage du tampon, etc. pour vous assurer que le téléchargement peut se dérouler normalement. Pour les fichiers volumineux, les problèmes de performances et d’efficacité de téléchargement doivent également être pris en compte.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Opération d'ouverture Python après avoir téléchargé le fichier Opération d'ouverture Python après avoir téléchargé le fichier Apr 03, 2024 pm 03:39 PM

Python fournit les options suivantes pour ouvrir les fichiers téléchargés : Fonction open() : ouvre le fichier en utilisant le chemin et le mode spécifiés (tels que « r », « w », « a »). Bibliothèque de requêtes : utilisez sa méthode download() pour attribuer automatiquement un nom et ouvrir directement le fichier. Bibliothèque Pathlib : utilisez les méthodes write_bytes() et read_text() pour écrire et lire le contenu du fichier.

Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Implémenter le téléchargement et le téléchargement de fichiers dans les documents Workerman Nov 08, 2023 pm 06:02 PM

Pour implémenter le téléchargement et le téléchargement de fichiers dans des documents Workerman, des exemples de code spécifiques sont requis Introduction : Workerman est un framework de communication réseau asynchrone PHP hautes performances, simple, efficace et facile à utiliser. Dans le développement réel, le téléchargement et le téléchargement de fichiers sont des exigences fonctionnelles courantes. Cet article explique comment utiliser le framework Workerman pour implémenter le téléchargement et le téléchargement de fichiers, et donne des exemples de code spécifiques. 1. Téléchargement de fichiers : le téléchargement de fichiers fait référence à l'opération de transfert de fichiers de l'ordinateur local vers le serveur. Ce qui suit est utilisé

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Nov 02, 2023 pm 04:36 PM

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Laravel est un framework Web PHP populaire qui fournit une multitude de fonctions et d'outils pour rendre le développement d'applications Web plus facile et plus efficace. L'une des fonctions couramment utilisées est le téléchargement et le téléchargement de fichiers. Cet article expliquera comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers, et fournira des exemples de code spécifiques. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers locaux sur le serveur pour le stockage. Dans Laravel, nous pouvons utiliser le téléchargement de fichiers

Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Jul 25, 2023 pm 08:17 PM

Comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour envoyer et recevoir des e-mails ? Avec le développement rapide des technologies de communication modernes, le courrier électronique est devenu un moyen important pour communiquer et transmettre des informations dans la vie quotidienne. Dans le développement Web, nous rencontrons souvent le besoin d’envoyer et de recevoir des e-mails avec des pièces jointes. En tant que puissant langage de script côté serveur, PHP fournit une multitude de fonctions et de bibliothèques de classes qui peuvent simplifier le processus de traitement des e-mails. Cet article explique comment utiliser les fonctions PHP pour télécharger et télécharger des pièces jointes pour l'envoi et la réception d'e-mails. L'e-mail est envoyé en premier, nous

Comment SpringBoot transmet-il les paramètres de l'en-tête via des appels Feign ? Comment SpringBoot transmet-il les paramètres de l'en-tête via des appels Feign ? May 16, 2023 pm 08:38 PM

[SpringBoot] Passage des paramètres dans l'en-tête via les appels Feign Comment transmettre les paramètres de l'en-tête via Feign Description du problème Lorsque nous utilisons Feign pour demander l'interface API d'un autre service dans Spring Cloud, il est nécessaire de transmettre les paramètres dans l'en-tête. un traitement spécial est effectué, les paramètres de l'en-tête seront perdus. Solution 1 : transmettez-le via @RequestHeader(name="headerName") Par exemple : Feign est défini comme suit @FeignClient(name="service-name")pub.

Comment utiliser le framework Hyperf pour le téléchargement de fichiers Comment utiliser le framework Hyperf pour le téléchargement de fichiers Oct 21, 2023 am 08:23 AM

Comment utiliser le framework Hyperf pour le téléchargement de fichiers Introduction : Le téléchargement de fichiers est une exigence courante lors du développement d'applications Web à l'aide du framework Hyperf. Cet article explique comment utiliser le framework Hyperf pour le téléchargement de fichiers, y compris des exemples de code spécifiques. 1. Préparation Avant de commencer, assurez-vous d'avoir installé le framework Hyperf et créé avec succès une application Hyperf. 2. Créer un contrôleur de téléchargement de fichiers Tout d'abord, nous devons créer un contrôleur pour gérer les demandes de téléchargement de fichiers. Ouvrez le terminal et entrez

Que signifie l'en-tête Linux ? Que signifie l'en-tête Linux ? Jul 18, 2023 pm 03:34 PM

L'en-tête de Linux fait référence au début d'un fichier ou d'un flux de données, qui est utilisé pour contenir des métadonnées sur le contenu. En écrivant et en utilisant correctement le fichier d'en-tête, les développeurs peuvent mieux utiliser les ressources du système et améliorer la lisibilité et la lisibilité du code. Maintenabilité.

Comment déclencher le téléchargement du fichier en cliquant sur le bouton HTML ou JavaScript ? Comment déclencher le téléchargement du fichier en cliquant sur le bouton HTML ou JavaScript ? Sep 12, 2023 pm 12:49 PM

De nos jours, de nombreuses applications permettent aux utilisateurs de télécharger et de télécharger des fichiers. Par exemple, les outils de détection de plagiat permettent aux utilisateurs de télécharger un fichier de document contenant du texte. Il vérifie ensuite le plagiat et génère un rapport que les utilisateurs peuvent télécharger. Tout le monde sait comment utiliser inputtypefile pour créer un bouton de téléchargement de fichier, mais peu de développeurs savent utiliser JavaScript/JQuery pour créer un bouton de téléchargement de fichier. Ce didacticiel vous apprendra différentes manières de déclencher le téléchargement d'un fichier lorsque vous cliquez sur un bouton HTML ou JavaScript. Utilisez la balise <a> et l'attribut de téléchargement du HTML pour déclencher le téléchargement du fichier lorsque vous cliquez sur le bouton. Chaque fois que nous donnons la balise <a>.

See all articles