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 nécessaires pour déclencher le téléchargement de fichiers texte. En prenant le PDF comme exemple :
Voici le contenu cité :
// Nous allons générer un
en-tête PDF ('Content-type: application/pdf');
// Il s'appellera download.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// La source PDF est dans 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.
Pour 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 Il n'y a rien à dire, 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 de la question Il y en a plus. La fonction readfile signifie lire un fichier et le sortir. Le chemin du fichier ici doit être le vrai chemin du fichier. S'il s'agit d'un fichier original.txt dans le dossier de téléchargement, vous devez le faire. peut écrire readfile('downloads/ original.txt');, et si la page soumise affichera du texte et d'autres caractères, le fichier téléchargé sera un fichier mixte du fichier original original.txt et du 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 réfléchir à la manière de le résoudre. ce problème. , c'est-à-dire désactiver la sortie du contenu textuel de la page soumise. À ce stade, le problème est résolu et la boîte de dialogue de téléchargement se déclenche lorsque vous cliquez sur le lien du fichier texte.