一个关于php将资源提供进行下载的操作类
来源:互联网 发布:阿里云鹰眼 编辑:程序博客网 时间:2024/05/20 01:10
最近项目有需求需要定期svn更新项目,并打包成下载包供下载,参考了网上的一些相关代码后写了如下一个用来提供给用户下载的小组件
关于php进行svn操作的组件:http://blog.csdn.net/meeeen7/article/details/78297063
关于php进行zip打包的组件:http://blog.csdn.net/meeeen7/article/details/78297467
class downloadUtil { protected $_filename; protected $_filepath; protected $_filesize; //文件大小 public function __construct($filepath,$filename){ $this->_filename=$filename; //$this->_filepath=dirname(dirname(dirname(dirname(dirname(__FILE__))))).'/'.$filename; $this->_filepath=$filepath; } //获取文件名 public function getfilename(){ return $this->_filename; } //获取文件路径(包含文件名) public function getfilepath(){ return $this->_filepath; } //获取文件大小 public function getfilesize(){ return $this->_filesize=number_format(filesize($this->_filepath)/(1024*1024),2);//去小数点后两位 } //下载文件的功能 public function getfiles(){ //检查文件是否存在 if (file_exists($this->_filepath)){ //打开文件 $file = fopen($this->_filepath,"r"); //返回的文件类型 Header("Content-type: application/octet-stream"); //按照字节大小返回 Header("Accept-Ranges: bytes"); //返回文件的大小 Header("Accept-Length: ".filesize($this->_filepath)); //这里对客户端的弹出对话框,对应的文件名 Header("Content-Disposition: attachment; filename=".$this->_filename); //修改之前,一次性将数据传输给客户端 echo fread($file, filesize($this->_filepath)); //修改之后,一次只传输1024个字节的数据给客户端 //向客户端回送数据 $buffer=1024;// //判断文件是否读完 while (!feof($file)) { //将文件读入内存 $file_data=fread($file,$buffer); //每次向客户端回送1024个字节的数据 echo $file_data; } fclose($file); } else { echo "<script>alert('对不起,您要下载的文件不存在');</script>"; } }}
使用时直接new downloadUtil()将要下载文件路径和文件名传入构造函数中,其中getfiles函数中的buffer代表了下载时每次传输的数据量,可自行进行调节
阅读全文
0 0
- 一个关于php将资源提供进行下载的操作类
- 一个关于php操作进行zip打包的压缩类
- 关于:读写xls文件,提供下载的一个小例子(jxl 的简单运用) - 高级操作
- 创建接口(接口,提供其他人进行操作的一个入口就是将我们原来实现功能的程序删了写成那个接口让别人来实现功能,为他人提供操作我们这儿的一个入口)
- 一个关于php操作svn的功能类
- PHP更快的提供文件下载
- 那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。
- 关于:读写xls文件,提供下载的一个小例子(jxl 的简单运用)
- 提供一个免费的CSDN下载账号
- 关于下载资源的遭遇
- Cocos2d-x中提供了一个JniHelper类来让我们对Jni进行操作。
- sqlHelper封装类,用于对数据库的操作,此类将查询操作中返回的结果集传递给了一个数组,直接将资源关闭
- 提供一个.net下通用的Cookie操作类
- 提供一个.net下通用的Cookie操作类
- php怎么将数据写入指定url的txt中,然后并返回保存地址提供下载?
- 关于 CSDN资源下载后进行评价获得积分 的问题
- 一个关于php使用pdo方式进行数据库连接和处理的类
- 一个关于php使用pdo方式进行数据库连接和处理的类
- Oracle存储过程学习
- Zookeeper JAVA客户端(Kotlin 实现) CRUD
- Handlebars模板引擎demo
- Matlab trapz函数和cumtrapz函数
- npm 安装包报错 rollbackFailedOptional
- 一个关于php将资源提供进行下载的操作类
- Centos7+django1.11+ngnix+uwsgi+python3.6项目部署
- (1)VS2017 Xamarin.Android 部署
- SVN集成LDAP认证及自助权限申请系统搭建
- 数据结构-分类
- Spring Cloud构建微服务架构:服务容错保护(Hystrix断路器)【Dalston版】
- 最长上升子序列的两种解法
- (译)Xposed模块开发教程
- js 数组复制(浅复制)……