PHP实现文件安全下载_php基础

你一定会笑我"下载文件"如此简单都值得说?当然并不是想象那么简单。例如你希望客户要填完一份表格,才可以下载某一文件,你第一个想法一定是用 "Redirect"的方法,先检查表格是否已经填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,但如果你想做一个关于"网上购物"的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用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 = "http://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直接输出文件了。 

时间: 2024-09-08 13:31:41

PHP实现文件安全下载_php基础的相关文章

PHP简单系统查询模块代码打包下载_php基础

是时候稍微总结一下前一段时间的PHP简单系统制作技巧了. 前一段时间主要讲述了如何用PHP读取与查询MySQL中的数据,并向大家着重解释了如何制作PHP多条件组合查询的方法.当然,很重要的是让大家了解到如何配置PHP+APACHE+MySQL. 如果大家在PHP简单信息系统数据查询模块中还有什么问题,欢迎大家留言询问.  这里,我为大家准备好了一个文件,集合了前几次的代码,以供大家参考.点击下载.

PHP5权威编程阅读学习笔记 附电子书下载_php基础

PHP 5 权威编程(PHP 5 Power Programming) PDF下载地址 http://www.jb51.net/books/28207.html  PHP4中,不使用__construct()作为构造函数的名字,必须使用类的名字定义一个方法,就像在C++中一样. PHP5中,使用新的统一的构造函数命名方式:__construct(),当然,使用类名同样也是可以的. 但是,你如果两个同时使用的话,系统默认会使用__construct()的形式. 复制代码 代码如下: <?php c

一周学会PHP(视频)Http下载_php基础

ftp://ftp.cycu.edu.tw/CNA/Course/2004/0816_0820_PHP/videos/040816_PHP_1.wmvftp://ftp.cycu.edu.tw/CNA/Course/2004/0816_0820_PHP/videos/040817_PHP_2.wmvftp://ftp.cycu.edu.tw/CNA/Course/2004/0816_0820_PHP/videos/040816_PHP_3.wmvftp://ftp.cycu.edu.tw/CNA

PHP实现文件安全下载的程序

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&

PHP实例教程:PHP实现文件安全下载的程序

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"); //

js之WEB开发调试利器:Firebug 下载_基础知识

在米随随的Blog看到有关Firebug的介绍,遂下载试用了一下,确实是比较好的工具. 一.效果开发调试利器:Firebug 下载_基础知识-电工基础知识视频下载"> 二.主要功能 Inspect and edit HTML Tweak CSS to perfection Visualize CSS metrics Monitor network activity Debug and profile JavaScript Quickly find errors Explore the DO

phpMyAdmin下载、安装和使用入门教程_php基础

对于PHP的逐渐流行,我们有目共睹:无论是BLOG程序中的WordPress,还是CMS程序中的DEDECMS,还是BBS程序中的Discuz!,都可谓经典. 随着程序语言选择的不同,WEB应用所使用的数据库也发生了变化,转而向MySQL阵营学习.其中对于phpMyAdmin的学习则必不可少. phpMyAdmin(简称PMA)是一个用PHP编写的,可以通过互联网在线控制和操作MySQL.他是众多MySQL管理员和网站管理员的首选数据库维护工具,通过phpMyAdmin可以完全对MySQL数据库

php下连接ftp实现文件的上传、下载、删除文件实例代码_php基础

php ftp传送文件到服务器 复制代码 代码如下: <?php // 开始 $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // 或: $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_A

一个程序下载的管理程序(四)_php基础

//管理程序chang.php源代码如下: <? session_start() ?> <? if($session_power==""||$session_power<1) { header("location: ../message.php?redirect=default.php&message=你不是理员"); break; }?> <?require ("../opendata.php");?