Maison >développement back-end >Problème PHP >Comment implémenter le téléchargement de fichiers avec du code php

Comment implémenter le téléchargement de fichiers avec du code php

藏色散人
藏色散人original
2020-08-05 10:29:382487parcourir

En PHP, le téléchargement de fichiers peut être réalisé via la méthode header. La syntaxe est "header('Content-type: application/pdf');", qui est utilisée pour spécifier le type de document téléchargé.

Comment implémenter le téléchargement de fichiers avec du code php

Recommandé : "Tutoriel vidéo PHP"

Code PHP pour le téléchargement de fichiers texte via l'en-tête

Le soi-disant téléchargement de fichiers texte signifie que lorsque nous cliquons sur un lien vers un fichier texte, au lieu d'ouvrir le fichier, une boîte de dialogue de téléchargement apparaît pour que nous puissions le télécharger

C'est aujourd'hui les principales questions abordées. Les instructions du document d'aide PHP sur le déclenchement des téléchargements via les en-têtes sont relativement simples, et il existe très peu d'articles sur cet aspect sur Internet, et de nombreux articles ne peuvent pas obtenir l'effet souhaité. Aujourd'hui, je parlerai également de ce sujet. Si vous sentez qu'il est amélioré par rapport à certains articles sur Internet, alors je serai très satisfait.

D'un point de vue précis, le document PHP est le plus précis, car il répertorie succinctement les trois instructions requises pour déclencher le téléchargement de fichiers texte :

Le code est le suivant. suit :

// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');

Ces trois phrases sont correctes, mais certains problèmes imprévus peuvent facilement survenir lors de l'utilisation réelle. Si vous êtes une personne très prudente, vous pouvez facilement éviter ces problèmes. Mais ce n'est pas le cas, j'ai donc rencontré un tel problème. Ici, je vais parler brièvement de mon problème.

Quant à la première phrase, il ne devrait y avoir rien à dire. Il suffit de changer le type du document. Par exemple, si vous téléchargez un fichier txt, remplacez-le par header('Content. -type: application/txt' );, la deuxième phrase ne dit pas grand chose, donnez simplement un nom à votre document téléchargé. S'il s'agit d'un fichier txt, vous pouvez le remplacer par header('Content-Disposition: attachment; filename=. "downloaded.txt"'); la troisième phrase pose plus de problèmes. La fonction readfile signifie lire un fichier puis le sortir. Le chemin du fichier ici doit être un vrai chemin de fichier. fichier sous le dossier de téléchargements, cela peut ressembler à ceci Write readfile('downloads/original.txt');, et si la page soumise affichera du texte et d'autres caractères, alors le fichier téléchargé sera un fichier mixte du fichier original original .txt et le texte affiché par la page soumise. J'ai manqué d'observation attentive ici. Dès que j'ai vu que quelque chose n'allait pas, j'ai immédiatement vérifié le code, mais je n'ai pas trouvé que le texte ci-dessus était ce dont j'avais besoin. Après avoir découvert cette partie du contenu, vous pouvez rapidement penser à comment. pour résoudre ce problème, c'est-à-dire désactiver la sortie du contenu textuel de la page soumise.

À ce stade, notre problème est résolu, obtenant ainsi l'effet de déclencher la boîte de dialogue de téléchargement lorsque vous cliquez sur le lien du fichier texte.

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