网站大量收购独家精品文档,联系QQ:2885784924

PHP文件上传进度条实现程序.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP文件上传进度条实现程序

PHP 文件上传进度条实现程序 在php中要实现上传进度条有很多方法,如ajax是现在的主流或利用iframe来实现,现在我们来介绍php的apc与uploadprogress实现文件上传进度条效果。 ? 目前我知道的方法有两种,一种是使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(/package/apc),另外一种方法是使用PECL扩展模块 uploadprogress实现(/package/uploadprogress)我这里举两个分别实现的例子供参考,更灵活的应用根据自己需要来修改。 ? APC实现方法: ? 安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明 配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,在APC源码说明文档里面有说明 代码范例: ? ?代码如下 复制代码 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 { ??? //其他代码,比如上传表单等 } uploadprogress 模块实现方法: 使用PECL模块安装方法安装该模块 php.ini里面设置 uploadprogress.file.filename_template = “/tmp/upd_%s.txt” 代码范例: ?代码如下 复制代码 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 { ??? //显示上传表单 } 整合 现

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档