当前位置:   article > 正文

php怎么实现上传进度条,怎么在php中利用APC实现一个上传进度条功能

php怎么实现上传进度条,怎么在php中利用APC实现一个上传进度条功能

怎么在php中利用APC实现一个上传进度条功能

发布时间:2020-12-14 15:47:20

来源:亿速云

阅读:68

作者:Leah

怎么在php中利用APC实现一个上传进度条功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

php不具备实时上传进度条功能,如果想有这种功能我们一般会使用ajax来实现,但是php提供了一个apc,它就可以与php配置实现上传进度条功能。

主要针对的是window上的应用。

1.服务器要支持apc扩展,没有此扩展的话,下载一个扩展扩展要求php.5.2以上。

2.配置apc相关配置,重启apache代码如下

extension=php_apc.dll

apc.rfc1867 = on

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的支持.

3.在代码里面利用phpinfo();查看apc扩展安装了没有。

4.下面是实现代码:

getprogress.php代码如下<?php

session_start();

if(isset($_GET['progress_key'])) {

$status = apc_fetch('upload_'.$_GET['progress_key']);

echo ($status['current']/$status['total'])*100;

}

?>

upload.php

PHP Code

$id = $_GET['id'];

?>

id="progress_key" value="<?php  echo $id?>"/>

type="submit" value="上传"/>

target.php

代码如下<?php

set_time_limit(600);

if($_SERVER['REQUEST_METHOD']=='POST') {

move_uploaded_file($_FILES["test_file"]["tmp_name"],

dirname($_SERVER['SCRIPT_FILENAME'])."/UploadTemp/" . $_FILES["test_file"]["name"]);//UploadTemp文件夹位于此脚本相同目录下

echo "

上传成功

";

}

?>

index.php

代码如下<?php

$id = md5(uniqid(rand(), true));

?>

上传进度

var proNum=0;

var loop=0;

var progressResult;

function sendURL() {

$.ajax({

type : 'GET',

url : "getprogress.php?progress_key=<?php  echo $id;?>",

async : true,

cache : false,

dataType : 'json',

data: "progress_key=<?php  echo $id;?>",

success : function(e) {

progressResult = e;

proNum=parseInt(progressResult);

document.getElementById("progressinner").style.width = proNum+"%";

document.getElementById("showNum").innerHTML = proNum+"%";

if ( proNum 

setTimeout("getProgress()", 100);

}

}

});

}

function getProgress(){

loop++;

sendURL();

}

var interval;

function startProgress(){

document.getElementById("progressouter").style.display="block";

setTimeout("getProgress()", 100);

}

src="upload.php?id=<?php  echo $id; ?>"

>

看完上述内容,你们掌握怎么在php中利用APC实现一个上传进度条功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/249451
推荐阅读
相关标签
  

闽ICP备14008679号