- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 {??? //显示上传表单} 整合
现
您可能关注的文档
- 2018年人民大学史学理论及史学史考研参考书目.docx
- 2018年人民大学国学院考研参考书目.docx
- 2018年人民大学文艺学考研参考书目.docx
- 2018年人民大学比较文学与世界文学考研参考书目.docx
- 2018年人民大学汉语国际教育考研参考书目.docx
- 2018年人民大学汉语言文字学考研参考书目.docx
- 2018年人民大学经济史考研参考书目.docx
- 2018年人民大学经济学学院考研参考书目.docx
- 2018年北京服装学院080500材料科学与工程考研参考书目招生人数考试科目专业指导经验.docx
- 2018年北京交通大学劳动经济学考研招生人数参考书目考试科目专业指导经验.docx
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
文档评论(0)