Heim >Backend-Entwicklung >PHP-Tutorial >PHP drei Möglichkeiten zum Herunterladen von Dateien
Empfohlenes Handbuch:PHP vollständiges Handbuch zum Selbststudium
In diesem Artikel werden hauptsächlich drei Möglichkeiten zum Herunterladen von Dateien vorgestellt in PHP. Ich hoffe, dass es allen helfen kann.
<button> <a href = "http://localhost/down.zip"> 下载文件</button>
Klicken Sie zum Herunterladen auf diese Schaltfläche:
Übergeben Sie die Parameter:
<button> <a href = "http://localhost?f='down'"> 下载文件 </button>
Suchen Sie die Datei und rufen Sie den Download-Link auf:
<?php$down = $_GET['f']; //获取文件参数$filename = $down.'.zip'; //获取文件名称$dir ="down/"; //相对于网站根目录的下载目录路径$down_host = $_SERVER['HTTP_HOST'].'/'; //当前域名//判断如果文件存在,则跳转到下载路径if(file_exists(__DIR__.'/'.$dir.$filename)){ header('location:http://'.$down_host.$dir.$filename); }else{ header('HTTP/1.1 404 Not Found'); }
Ergebnis:
Datei existiert
Datei existiert nicht
<?php $file_name = "down";$file_name = "down.zip"; //下载文件名 $file_dir = "./down/"; //下载文件存放目录 //检查文件是否存在 if (! file_exists ( $file_dir . $file_name )) { header('HTTP/1.1 404 NOT FOUND'); } else { //以只读和二进制模式打开文件 $file = fopen ( $file_dir . $file_name, "rb" ); //告诉浏览器这是一个文件流格式的文件 Header ( "Content-type: application/octet-stream" ); //请求范围的度量单位 Header ( "Accept-Ranges: bytes" ); //Content-Length是指定包含于请求或响应中数据的字节长度 Header ( "Accept-Length: " . filesize ( $file_dir . $file_name ) ); //用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。 Header ( "Content-Disposition: attachment; filename=" . $file_name ); //读取文件内容并直接输出到浏览器 echo fread ( $file, filesize ( $file_dir . $file_name ) ); fclose ( $file ); exit (); }
Ergebnis: Dasselbe wie beim zweiten
Zusammenfassung:
Der erste und der zweite Vorgang sind relativ einfach, aber die tatsächliche Adresse der Datei lässt sich leicht ermitteln und die Sicherheit ist nicht hoch. Drei Möglichkeiten, die tatsächliche Adresse der Datei besser zu verbergen
Empfohlene verwandte Artikel:
1.So laden Sie Dateien auf den Server herunter mit PHP
2.Wie lade ich große Dateien in PHP herunter? (Codebeispiel)
3.So implementieren Sie die Wiederaufnahme des Dateidownload-Haltepunkts in PHP
Verwandte Videoempfehlungen:
1 Günstiges(4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonPHP drei Möglichkeiten zum Herunterladen von Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!