找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1618|回复: 0
打印 上一主题 下一主题

PHP实现下载功能的代码

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 08:27:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            wzskynet#163.com
·php escapeshellcmd多字节编码漏洞
·详细讲解PHP中缓存技术的应用
·利用PHP V5开发多任务应用程序
·详细解析 PHP 向 MySQL 发送数据过程
·PHP实现静态发布的方法浅谈
你一定会笑我“下载文件”如此简单都值得说?当然并不是想你想象的那么简单。例如你希望客户要填完一份表格,才可以下载某一文件,你第一个想法一定是用 “Redirect”的方法,先检查表格是否已经填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,例如笔者编写的以下代码:
[U]复制代码[/U] 代码如下:


或者是以下的情况:
[U]复制代码[/U] 代码如下:
开始下载文件

这里利用了ID方式接收要下载文件的编号,然后用“Redirect”的方式连接到实际的网址。
如果你想做一个关于“网上购物”的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用PHP直接读取该实际文件然后下载的方法去做。程序如下:
[U]复制代码[/U] 代码如下:


而如果文件路径是“http”或者“ftp” 网址的话,则源代码会有少许改变,程序如下:
[U]复制代码[/U] 代码如下:
<?
$file_name = "info_check.exe";
$file_dir = "http://www.jb51.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文件安全下载!
[U]复制代码[/U] 代码如下:
public function downloads($name){
$name_tmp = explode("_",$name);
$type = $name_tmp[0];
$file_time = explode(".",$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date("Y/md",$file_time);
$file_dir = SITE_PATH."/data/uploads/$type/$file_date/";
if (!file_exists($file_dir.$name)){
header("Content-type: text/html; charset=utf-8");
echo "File not found!";
exit;
} else {
$file = fopen($file_dir.$name,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $name));
Header("Content-Disposition: attachment; filename=".$name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}
}
            
            
您可能感兴趣的文章:
  • PHP文件下载类
  • PHP文件上传实例详解!!!
  • 实现php加速的eAccelerator dll支持文件打包下载
  • 简单的PHP图片上传程序
  • jQuery Ajax文件上传(php)
  • php利用header函数实现文件下载时直接提示保存
  • 简单PHP上传图片、删除图片实现代码
  • Php中文件下载功能实现超详细流程分析
  • php 下载保存文件保存到本地的两种实现方法
  • php文件上传、下载和删除示例
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端