php大文件上传插件,PHP 大文件上传进度条实现
目前我知道的方法有两种,一种是使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc),另外一种方法是使用PECL扩展模块uploadprogress实现(http://pecl.php.net/package/uploadprogress) 我这里举两个分别实现的例子供参考,更灵活的应用根据自己需要来修改。
APC实现方法:
安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明
配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,在APC源码说明文档里面有说明
代码范例:
[coolcode lang=”php”]
if ($_SERVER[‘REQUEST_METHOD’] == ‘POST’) { //上传请求
$status = apc_fetch(‘upload_’ . $_POST[‘APC_UPLOAD_PROGRESS’]);
$status[‘done’] = 1;
echo json_encode($status); //输出给用户端页面里的ajax调用,相关文档请自己寻找
exit;
} elseif (isset($_GET[‘progress_key’])) { //读取上传进度
$status = apc_fetch(‘upload_’.$_GET[‘progress_key’]);
echo json_encode($status);
exit;
} else {
//其他代码,比如上传表单等
}
[/coolcode]
uploadprogress 模块实现方法:
使用PECL模块安装方法安装该模块
php.ini里面设置 uploadprogress.file.filename_template = “/tmp/upd_%s.txt”
代码范例:
[coolcode lang=”php”]
if($_SERVER[‘REQUEST_METHOD’]==’POST’) {
if (is_uploaded_file($_FILES[‘upfile’][‘tmp_name’])) {
$upload_dir = ‘your_path/’;
$ext = strrchr($_FILES[‘video’][‘name’], ‘.’);
$sessid = $_POST[‘UPLOAD_IDENTIFIER’] ;
$tmpfile = $upload_dir . $sessid;
$sessfile = $upload_dir . $sessid .$ext;
if (move_uploaded_file($_FILES[‘upfile’][‘tmp_name’],$tmpfile)) {
//上传成功
} else {
//上传失败
} else {
//上传错误
} elseif (!empty($_GET[‘sessid’])) {
header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Cache-Control: no-store, no-cache, must-revalidate”);
header(“Cache-Control: post-check=0, pre-check=0”, false);
header(“Pragma: no-cache”);
header(“Content-Type:text/html;charset=UTF-8”);
$unique_id = $_GET[‘sessid’];
$uploadvalues = uploadprogress_get_info($unique_id);
if (is_array($uploadvalues)) {
echo json_encode($uploadvalues);
} else {
//读取进度失败,另外处理逻辑
}
} else {
//显示上传表单
}
[/coolcode]
php大文件上传插件,PHP 大文件上传进度条实现相关推荐
- SSM框架使用Layui文件上传插件实现多文件上传(多文件列表)
SSM框架使用Layui文件上传插件实现多文件上传(多文件列表) pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <!--co ...
- 文件的上传下载功能的实现(包括进度条)[telerik控件]
文件的上传下载功能的实现(包括进度条) 1.准备工作 首先我们需要Telerik控件,数据库,上传文件文件夹. Telerik控件: RadUpload.RadProgressManager.RadP ...
- EV录屏/向日葵文件播放没有声音问题,不能拖动时间进度条
环境: EV录屏 4.2.2 potplayer 版本:230523(1.7.21916) 问题: 使用potplayer 播放录屏文件只能从头开始播放,如果拖动时间进度条,要么无法播放,要么没有声音 ...
- jquery文件上传插件 uploadify java_jQuery文件上传插件Uploadify使用指南
对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持 Flash,主要特性:支持多文件上传.HTML5版本可拖拽上传.实时上传进度条显示.强大的参数 定制功能,如文件大小. ...
- ajax图片上传插件demo,jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)...
这篇文章主要是对前两篇关于ajaxfileupload.js插件的文章 的一个收关.但是最初也是因为想做这么一个功能,一点一点的引发出了好多问题,不断去学习,研究,才写了这三篇. 早些时候已经实现了上 ...
- 无刷新上传Excel后利用JQuery AJAX 显示进度条的实现方式
1.前台上传页面代码 <divclass="clearfix mywebsite-nodata"><divid="show"><f ...
- Process插件:typecho加载页面进度条插件
介绍: typecho加载页面进度条插件 这是一款适用于typecho任何主题的加载页面进度条,可以让你的博客加载时显得更加顺滑而不会显得过于突兀,使用本插件可以很好得起到视觉缓冲的作用. 本插件有十 ...
- 头像裁剪上传插件php,yii2.0 上传头像插件(可裁剪)yii2-avatar扩展包
1.yii2.0 上传头像插件包名 基于cropper的一款头像上传yii2组件 包名: composer require daimakuai/yii2-avatar 2.截图 3.yii2.0 上传 ...
- cmsv9后台flash上传插件改为百度上传插件
1.修改此文件,(如果没有二次开发,直接替换) 路径:phpcms\modules\attachment\attachments.php 2.添加一个新文件 路径:phpcms\modules\att ...
最新文章
- mongodb索引--从55.7秒到毫秒级别
- Nature Method:DEMIC——使用宏基因组数据预测细菌的生长速率
- php属于脚本,php是脚本语言吗
- 竖向图片插入_Word小技巧:让你的图片文字排版更有创意
- 【安利UI设计师】电商购物移动应用程序界面设计UI套件包,轻松完成项目需求。
- 数据可视化黑科技!它比python强大20倍
- mysql 修改字段长度
- LPC_2136 PLC,扩展方案,兼容西门子S7-200 CPU 224XP,兼容西门子软件
- 企业如何选择短信平台
- 用arcgis裁剪面时出错,ERROR 999999: 执行函数时出错
- 注塑模具有哪些必须要知道的,了解一下
- 纪录片:互联网之子 亚伦·斯沃茨的故事
- 2019年六月前端面试经验总结
- 美国ESS-HIFI音频解码芯片ES9023P
- 【单片机毕业设计】【mcuclub-200】温度控制温度检测温控恒温控制恒温箱
- [句子成分] 三、宾语
- [改善脑力的23条方法]
- 华为 MA567x, 如何从电信系统切回华为系统
- CentOS 7 磁盘挂载教程
- java并发多数据库连接失败_MAC测试JAVA多线程并发连接数据库问题