Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
PHP 读取文件内容并提供下载(非浏览器直接访问文件路径) - NOTEBOOK
PHP 读取文件内容并提供下载(非浏览器直接访问文件路径)
PHP / MySQL
Posted on 2022-12-24
摘要 : 好处: 隐藏真实的文件路径。方便控制访客权限、屏蔽ip、防止盗链等。
缺点: 消耗系统资源。
❱ 使用 PHP 读取某个文件夹下的文件,再输出成浏览器下载。

❱ 好处

隐藏真实的文件路径。
方便控制访客权限、屏蔽ip、防止盗链等。

❱ 缺点

消耗系统资源。

$path = '../files/'; // 上层文件路径
$file_url = $path.$_GET['f']; // $_GET只暴露文件名
$file_name = $_GET['f'];

if(!file_exists($file_url)) {
echo "不存在";
}else{
header('Accept-Ranges: bytes');
header('Accept-Length: ' . filesize( $file_url )); // 文件尺寸
header('Content-Transfer-Encoding: binary');
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $file_name);
header('Content-Type: application/octet-stream; name=' . $file_name);
if(is_file($file_url) && is_readable($file_url)){
$file = fopen($file_url, "r");
echo fread($file, filesize($file_url));
fclose($file);
}
}