PHP教程.应用实例6_PHP教程
程序员文章站
2022-06-05 09:46:17
...
PHP实现文件安全下载
程序如下:
$file_name = "info_check.exe";
$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;}
而如果文件路径是"http"或者"ftp"网址的话,则源代码会有少许改变,程序如下:
$file_name = "info_check.exe";
$file_dir = "www.easycn.net/";
$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直接输出文件了
程序如下:
$file_name = "info_check.exe";
$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;}
而如果文件路径是"http"或者"ftp"网址的话,则源代码会有少许改变,程序如下:
$file_name = "info_check.exe";
$file_dir = "www.easycn.net/";
$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直接输出文件了
推荐阅读
-
php Fatal error: session_start(): Failed to initialize stora_PHP教程
-
jQuery中appendTo()方法用法实例教程
-
模拟测试微信接口暨微信开发试验代码_PHP教程
-
jQuery中has()方法用法实例教程
-
完美实现wordpress禁止文章修订和自动保存的方法,wordpress自动保存_PHP教程
-
Cygwin中安装PHP方法步骤,cygwin安装php步骤_PHP教程
-
Web端PHP代码函数覆盖率测试解决方案_PHP教程_编程技术
-
windows环境下面安装Apache2.4+MySql5.7+PHP5.6,apache2.4mysql5.7_PHP教程
-
Bigcommerce:PHP版本升级错误解决办法_PHP教程
-
Zend Framework教程之MVC框架的Controller用法分析,zendmvc_PHP教程