Maison >développement back-end >Problème PHP >Comment télécharger des fichiers txt en php

Comment télécharger des fichiers txt en php

藏色散人
藏色散人original
2021-09-21 09:29:555077parcourir

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.

Comment télécharger des fichiers txt en php

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!

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
Article précédent:Comment utiliser le jeton PHPArticle suivant:Comment utiliser le jeton PHP