PHP教程.应用实例7
程序员文章站
2022-06-17 07:57:48
...
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直接输出文件了
推荐阅读
-
改进后的《自动显示天气预报》小程序(Linux和Windows环境都可以)-PHP应用-PHP教程-_PHP教程
-
thinkphp模板继承实例简述,thinkphp模板实例_PHP教程
-
typecho插件编写教程(四):插件挂载_php实例
-
php实现的替换敏感字符串类实例,字符串实例_PHP教程
-
PHP实例:实现文件上传的程序源码_PHP教程
-
基于Zend的Captcha机制的应用_php实例
-
XML在PHP中应用_PHP教程
-
ThinkPHP基本的增删查改操作实例教程,thinkphp实例教程_PHP教程
-
php定义一个参数带有默认值的函数实例分析,默认值实例分析_PHP教程
-
PHP接口与抽象学习实例_PHP教程