Maison >développement back-end >Problème PHP >Comment télécharger des fichiers txt en php
Comment utiliser php pour télécharger des fichiers txt : 1. Créez un exemple de fichier PHP ; 2. Ajoutez le code "function downloadtxt($file = "") {...}" ; ); " méthode pour télécharger le fichier.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.
Comment implémenter le téléchargement de fichiers txt en PHP ?
PHP implémente la génération et le téléchargement de fichiers txt
1.génération .txt
Cette fonction est utilisée dans plusieurs sorties de données. Chaque champ est séparé par des espaces. les données seront directement enveloppées dans de nouvelles lignes
public function dlfileftxt($data = array(),$filename = "unknown") { header("Content-type:application/octet-stream"); header("Accept-Ranges:bytes"); header("Content-Disposition:attachment;filename=$filename.txt"); header("Expires:0"); header("Cache-Control:must-revalidate,post-check=0,pre-check=0 "); header("Pragma:public"); if (!empty($data)){ foreach($data as $key=>$val){ foreach ($val as $ck => $cv) { $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv); } $data[$key]=implode(" ", $data[$key]); } echo implode("\n",$data); } exit(); }
dlfileftxt(array(1=>array("student"=>"小红","class"=>"一班"),2=>array("student"=>"老黄","class"=>"二班")),"班级信息");
nom du fichier txt : informations de classe
contenu txt :
Xiaohong Classe 1
Laohuang Classe 2
Analyse du code :
"Content-type: application/octet-stream"
//Peut ne peut être soumis qu'en binaire, et un seul binaire peut être soumis. Si un fichier est soumis, un seul fichier peut être soumis. Il ne peut y avoir qu'un seul paramètre de réception en arrière-plan, et il ne peut s'agir que d'un flux (ou d'un tableau d'octets)
"Accepter". -Ranges: bytes"
// Indique si le serveur prend en charge les requêtes de plage spécifiées et quel type de requêtes segmentées
"Content-Disposition:attachment;filename=$filename.txt"
//Bien sûr, le paramètre filename peut contenir des informations de chemin, mais User-Agnet ignorera ces informations, seule la dernière partie des informations de chemin sera utilisée comme nom de fichier. Lorsque vous utilisez ces informations d'en-tête lorsque le type de réponse est application/octet-stream, cela signifie que vous ne souhaitez pas afficher le contenu directement, mais ouvrir une boîte de dialogue "Téléchargement de fichier", et l'étape suivante dépend de vous. "Ouvrir" ou "Enregistrer"
(Remarque : certains navigateurs ne seront pas en mesure de reconnaître les chaînes chinoises et apparaîtront tronquées, et vous devrez convertir de force l'encodage des caractères de la chaîne en UTF-8)
Téléchargement de 1.txt
Étant donné que certains navigateurs peuvent interpréter le fichier txt, lorsque vous utilisez un navigateur pour accéder à un certain texte sur le serveur, une nouvelle fenêtre s'ouvrira pour lire le contenu du txt au lieu de télécharger le fichier
function downloadtxt($file = "") { if(!$file) return false; $filename = '/path/'.$file.'.txt'; //文件路径 header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".basename($filename)); readfile($filename); }
downloadtxt("classmsg");
Analyse du code :
"Type de contenu : application/force-download"
// Forcer le téléchargement du contenu du fichier
readfile()
//Cette fonction lit le fichier et écrit le contenu du fichier sur le périphérique de sortie standard. La valeur de retour est la taille du fichier lu
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!