跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

PHP下载文件(隐藏真实的下载地址)

有时我们需要隐藏真实的文件下载地址,防止恶意下载,我们可以采用下面的方法(参考网络,侵权请告知)

以下为引用的内容:

$file_name = "example.exe";立即学习“PHP免费学习笔记(深入)

”;

$file_dir = "/public/www/download/";if (!file_exists($file_dir . $file_name)) { //检查文件是否存在echo "文件未找到";exit;} else {$file = fopen($file_dir . $file_name,"r"); // 打开文件// 输入文件标签Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($file_dir . $file_name));Header("Content-Disposition: attachment; filename=" . $file_name);// 输出文件内容echo fread($file,filesize($file_dir . $file_name));fclose($file);exit;}而如果文件为远程文件,则原始码会有少许改动,程式如下:

以下为引用的内容:

$file_name = "example.exe";立即学习“PHP免费学习笔记(深入)

”;

$file_dir = "http://back.zhizhi123.com/";$file = @ fopen($file_dir . $file_name,"r");if (!$file) {echo "文件未找到";} else {Header("Content-type: application/octet-stream");Header("Content-Disposition: attachment; filename=" . $file_name);while (!feof ($file)) {echo fread($file,50000);}fclose ($file);}这样就能用PHP直接输出文件了。

相关文章