php でファイルをダウンロードする方法: 1. ファイル リンク メソッドを直接追加します; 2. パラメータを渡してダウンロード リンク メソッドを見つけてジャンプします; 3. 関数 [head()] と [fread( )] 関数 ファイルをブラウザに直接出力するメソッドです。
#ファイルをダウンロードするための php メソッド:
1. ファイル リンクを直接追加します
<button> <a href = "http://localhost/down.zip"> 下载文件 </button>ボタンをクリックしてダウンロードしてください:
関連学習の推奨事項:php プログラミング (ビデオ)
2. パラメータを渡してダウンロード リンクに移動します
パラメータを渡す:<button> <a href = "http://localhost?f='down'"> 下载文件 </button>ファイルを見つけてダウンロード リンクに移動します:
<?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'); }結果: ファイルは存在します ファイルは存在しません ## 3. head() 関数と fread() 関数は、ファイルをブラウザに直接出力します
<?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 ();
}
結果: 2 番目と同じです
概要: 1 つ目と 2 つ目の操作 比較的単純ですが、ファイルの実アドレスが公開されやすく、セキュリティは高くありません。3 つ目の方法は、ファイルの実アドレスをよりよく隠すことができます
関連する推奨事項:プログラミングビデオコース
以上がPHPでファイルをダウンロードする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。