PHP使用APC实现实时上传进度条功能

PHP使用APC实现实时上传进度条功能
PHP没有实时上传进度条的功能。如果我们想拥有这个函数,我们通常使用Ajax来实现它,但是PHP提供了一个APC,它可以用PHP配置上传进度条函数。

主要目的是在窗口上应用。

1。服务支持没有此扩展的APC扩展,并且下载扩展扩展需要超过PHP 5.2。

2。配置与APC相关的配置,重新启动Apache

代码如下

php_apc.dll延伸=

在apc.rfc1867 =

apc.max_file_size = 1000m

upload_max_filesize = 1000m

post_max_size = 1000m

解释:对于参数有多大,要看项目的需求apc.max_file_size,集上传的文件支持的APC,APC的尺寸要求。max_file_size <= upload_max_filesize,和apc.max_file_size <= post_max_size。重新启动Apache以实现APC支持。

三.使用phpinfo()的代码;看到APC扩展安装不。

4。下面是实现代码:

getprogress.php

代码如下
< PHP
session_start();
如果(isset($ _get { 'progress_key ' })){
$状态= apc_fetch('upload_'。_get美元{ 'progress_key});
回声($状态{ } /当前的美元地位的综合{ })* 100;
}
>
upload.php
PHP代码
< PHP
ID =美元美元_get { 'id' };
>

<输入type=隐藏name=apc_upload_progress
id=progress_key 价值= / >

<输入onclick=window.parent.startprogress();return true;
类型
target.php

代码如下
< PHP
(600)set_time_limit;
如果($ _server { } = = 'post 'request_method ' '){
move_uploaded_file($ _files {test_file
dirname($ _server { 'script_filename})。uploadtemp / / 。_files美元{test_file
上传成功;
}
>
index.php

代码如下
< PHP
$id = MD5(uniqid(RAND(),真的));
>

上传进度
VaR倒卧= 0;
var循环= 0;
无功progressresult;
功能sendurl(){
$ ajax({
类型:' ',
网址:得到任务的进度。phpprogress_key =
异步:真,
缓存:false,
DataType:'json,
数据:progress_key =
成功:函数(e){
progressresult = E;
倒卧= parseInt(progressresult);
document.getelementbyid(progressinner)。Style.width =倒卧+%;
document.getelementbyid(shownum ).innerHTML =倒卧+%;
如果(倒卧<100){
setTimeout(得到任务的进度()
}

}
});

}

功能得到任务的进度(){
循环+;

sendurl();
}
VaR区间;
功能startprogress(){
document.getelementbyid(progressouter)。风格。显示为块;
setTimeout(得到任务的进度()
}

< iframe id=框架name=框架
src=上传。phpid =
style=边界:无;身高:100px;宽度:400px;>
以上就是与大家分享使用APC实现php实时上传进度条功能的方法,希望能对大家的学习有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部