PHP文件下载类
来源:互联网 发布:硬件检测软件 编辑:程序博客网 时间:2024/04/29 16:03
<?php
/**
* 文件下载类
*/
class Download extends Controller
{
/**
* @explain 构造方法 继承父类构造方法
* 备注: 如果没登陆则到登陆页面 否则则进入WIKI前端登录页面
*
*/
public function __construct()
{
parent::__construct();
$this->con_checkLoginAndTodo();
$this->client_url();//整站URL
}
/**
* 文件下载方法
*/
public function index()
{
$path = get_param('path');//get_param()函数是一个获取post或get方式传过来的参数
$firstNum = strpos($path, './uploadfile/');//查找字符串首次出现的位置
$urlStr = substr($path,0,$firstNum);
$decodePath = base64_decode($urlStr);
$url = $decodePath.substr($path,$firstNum);
if(file_exists($url))//检查文件或目录是否存在
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($url));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($url));
ob_clean();
//flush();
readfile($url);
exit;
}else{
echo "<script>alert('文件不存在!');history.back(-1);</script>";
}
}
}
?>
/**
* 文件下载类
*/
class Download extends Controller
{
/**
* @explain 构造方法 继承父类构造方法
* 备注: 如果没登陆则到登陆页面 否则则进入WIKI前端登录页面
*
*/
public function __construct()
{
parent::__construct();
$this->con_checkLoginAndTodo();
$this->client_url();//整站URL
}
/**
* 文件下载方法
*/
public function index()
{
$path = get_param('path');//get_param()函数是一个获取post或get方式传过来的参数
$firstNum = strpos($path, './uploadfile/');//查找字符串首次出现的位置
$urlStr = substr($path,0,$firstNum);
$decodePath = base64_decode($urlStr);
$url = $decodePath.substr($path,$firstNum);
if(file_exists($url))//检查文件或目录是否存在
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($url));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($url));
ob_clean();
//flush();
readfile($url);
exit;
}else{
echo "<script>alert('文件不存在!');history.back(-1);</script>";
}
}
}
?>
0 0
- php 文件下载类
- php文件下载类
- php文件下载类
- PHP文件下载类
- PHP文件下载类
- php文件下载类
- PHP 下载远程文件类
- PHP 下载远程文件类
- 封装php下载文件类
- php开发 文件下载类
- PHP文件下载上传类
- 支持断点续传的PHP文件下载类
- php 支持断点续传的文件下载类
- [php] thinkphp基于Http类 下载文件
- php 支持断点续传的文件下载类
- php 支持断点续传的文件下载类
- php 支持断点续传的文件下载类
- php 支持断点续传的文件下载类
- 读《MySQL性能调优与架构设计》笔记之Join 的实现原理及优化思路
- SSH注解配置中的几种注解模式
- 子类实例化过程(super)_19集
- Android Studio 1.x 设置显示行号
- php网上发现的完美一句话
- PHP文件下载类
- 工作队列(1)
- Log4J日志管理类使用详解
- Android Studio 1.x 更改字体
- Java 输出信息最方便的类——打印流之PrintStream
- PHP页面跳转几种实现方法
- 阻塞队列BlockingQueue
- Linux 命令行& ; &&的区别
- 23种设计模式(4):建造者模式