Home > Backend Development > PHP Problem > How to download txt files in php

How to download txt files in php

藏色散人
Release: 2023-03-12 19:40:01
Original
5081 people have browsed it

php method to implement txt download file: 1. Create a PHP sample file; 2. Add "function downloadtxt($file = "") {...}" code; 3. Pass "downloadtxt(" Just download the file using classmsg");".

How to download txt files in php

The operating environment of this article: Windows 7 system, PHP version 7.1, Dell G3 computer.

How to implement txt file download in php?

PHP implements txt file generation and download

##1.txt Generation

This function is used to output multiple pieces of data. Each field is separated by a space, and the next piece of data will be directly wrapped in a new line.

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();
}
Copy after login
dlfileftxt(array(1=>array("student"=>"小红","class"=>"一班"),2=>array("student"=>"老黄","class"=>"二班")),"班级信息");
Copy after login

txtFile name: Class information

txt content:
Xiaohong Class 1
Laohuang Class 2
Code analysis:
"Content-type:application/octet-stream"
//Only binaries can be submitted, and only one binary can be submitted , if you submit a file, you can only submit one file, and there can only be one background receiving parameter, and it can only be a stream (or byte array)
"Accept-Ranges: bytes"
//Indicate whether the server supports it Specify range request and which type of segmented request
"Content-Disposition:attachment;filename=$filename.txt"
//Of course the filename parameter can contain path information, but User-Agnet will ignore this information , only the last part of the path information will be used as the file name. When you use this header information when the response type is application/octet-stream, it means that you do not want to display the content directly, but pop up a "File Download" dialog box, and the next step is up to you." Open "or "Save"
(Note: Some browsers will not be able to recognize Chinese strings and may appear garbled, and you need to force the character encoding of the string to UTF-8)

1.txt download

Since some browsers can interpret txt files, when using the browser to access a certain txt on the server, a new window will be opened to read the txt content instead of downloading the file

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);
}
Copy after login
downloadtxt("classmsg");
Copy after login

Code analysis:

"Content-Type: application/force-download"
//Force download file content
readfile()
//This function reads the file and writes the file content to the standard output device. The return value is the file size read

Recommended study: "

PHP Video Tutorial"

The above is the detailed content of How to download txt files in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template