Heim >Backend-Entwicklung >PHP-Problem >So laden Sie Dateien in PHP herunter
So laden Sie Dateien in PHP herunter: 1. Fügen Sie direkt die Dateiverknüpfungsmethode hinzu. 2. Übergeben Sie Parameter, um die Download-Verknüpfungsmethode zu finden. 3. Verwenden Sie die Funktionen [head()] und [fread()], um direkt zu gelangen Geben Sie die Datei an die Browsermethode aus.
So laden Sie Dateien in PHP herunter:
1. Fügen Sie den Dateilink direkt hinzu
<button> <a href = "http://localhost/down.zip"> 下载文件 </button>
Klicken Sie auf die Schaltfläche zum Herunterladen:
Verwandte Lernempfehlungen: php-Programmierung ( Video)
2. Übergeben Sie die Parameter, um den Download-Link zu finden und zu springen
Ü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:
Die Datei existiert
Die Datei existiert nicht
3. Die Funktionen head() und fread() geben die Datei direkt an den Browser aus
<?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 (); }
Das Ergebnis: das gleiche wie beim zweiten
Zusammenfassung: Die Die ersten und zweiten Vorgänge sind relativ einfach, aber es ist einfach, die tatsächliche Adresse der Datei offenzulegen, und die Sicherheit ist nicht hoch. Der dritte Typ kann die tatsächliche Adresse der Datei besser verbergen. Verwandte Empfehlungen:
ProgrammiervideokursDas obige ist der detaillierte Inhalt vonSo laden Sie Dateien in PHP herunter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!