How to implement file download in PHP?

Guanhui
Release: 2023-03-02 22:08:02
Original
3265 people have browsed it

How to implement file download in PHP?

How does PHP implement file downloading?

First use the "header" function to specify the download file type, download file description and download file size; then use the function "readfile" to read the file content and output it directly; finally end the script. Can.

Sample code

<?php
$filename = "test.gif";
header(&#39;Content-Type:image/gif&#39;); //指定下载文件类型
header(&#39;Content-Disposition: attachment; filename="&#39;.$filename.&#39;"&#39;); //指定下载文件的描述
header(&#39;Content-Length:&#39;.filesize($filename)); //指定下载文件的大小

//将文件内容读取出来并直接输出,以便下载
readfile($filename);
?>
Copy after login

Chinese name

<?php 
header("Content-type:text/html;charset=utf-8"); 
// $file_name="cookie.jpg"; 
$file_name="圣诞狂欢.jpg"; 
//用以解决中文不能显示出来的问题 
$file_name=iconv("utf-8","gb2312",$file_name); 
$file_sub_path=$_SERVER[&#39;DOCUMENT_ROOT&#39;]."marcofly/phpstudy/down/down/"; 
$file_path=$file_sub_path.$file_name; 
//首先要判断给定的文件存在与否 
if(!file_exists($file_path)){ 
echo "没有该文件文件"; 
return ; 
} 
$fp=fopen($file_path,"r"); 
$file_size=filesize($file_path); 
//下载文件需要用到的头 
Header("Content-type: application/octet-stream"); 
Header("Accept-Ranges: bytes"); 
Header("Accept-Length:".$file_size); 
Header("Content-Disposition: attachment; filename=".$file_name); 
$buffer=1024; 
$file_count=0; 
//向浏览器返回数据 
while(!feof($fp) && $file_count<$file_size){ 
$file_con=fread($fp,$buffer); 
$file_count+=$buffer; 
echo $file_con; 
} 
fclose($fp); 
?>
Copy after login

Recommended tutorial: "PHP"

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

Related labels:
php
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