Heim  >  Artikel  >  Backend-Entwicklung  >  Wie implementiert man den Dateidownload in PHP?

Wie implementiert man den Dateidownload in PHP?

Guanhui
GuanhuiOriginal
2020-07-22 16:50:013263Durchsuche

Wie implementiert man den Dateidownload in PHP?

Wie lade ich Dateien in PHP herunter?

Verwenden Sie zunächst die Funktion „Header“, um den Download-Dateityp, die Download-Dateibeschreibung und die Download-Dateigröße anzugeben, und verwenden Sie dann die Funktion „Readfile“, um den Dateiinhalt zu lesen und ihn schließlich direkt auszugeben das Drehbuch.

Beispielcode

<?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);
?>

Chinesischer 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); 
?>

Empfohlenes Tutorial: „PHP

Das obige ist der detaillierte Inhalt vonWie implementiert man den Dateidownload in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn