php上传带进度条_PHP文件上传带进度条(1/3)_PHP教程

本文介绍了使用PHP实现文件上传进度条的两种常见方法:1) 通过APC扩展,设置apc.rfc1867为1,并使用apc_fetch获取上传状态;2) 使用PECL的uploadprogress模块,配置filename_template并读取上传进度。这两种方法都需要编译扩展,并通过AJAX在客户端展示进度。
摘要由CSDN通过智能技术生成

实现篇

一般情况,用php教程实现上传进度条就下面两种方法:

1.apc扩展(作者是php教程的创始人,5.2后php已经加入apc扩展)

2.pecl扩展模块 uploadprogress

不论是apc还是uploadprogress,都需要编译源码教程,因为原有的php函数根本不可能读取到临时文件夹里的东西。下面来看如何使用以及关键的代码:apc实现方法:

1.安装apc

2.配置php.ini,设置参数 apc.rfc1867=1

3.关键代码: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;

}

uploadprogress实现方法:

1.使用pecl 安装uploadprogress

2.php.ini里面设置 uploadprogress.file.filename_template = “/tmp/upd_%s.txt”

3.关键代码: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)) {

//上传成功

}

}

1 2 3

http://www.bkjia.com/PHPjc/444914.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444914.htmlTechArticle实现篇 一般情况,用php教程实现上传进度条就下面两种方法: 1.apc扩展(作者是php教程的创始人,5.2后php已经加入apc扩展) 2.pecl扩展模块...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值