php上传文件并显示上传进度

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
记得上传文件的时候要大点,不然还没看出来就上传完了,并且上传的文件不要太大,上G的就算了,2G的我试了,PHP受不了,我测试的是300多M的,记得要调整小php.ini参数啊 “选文件=》提交=》获取信息”要一气呵成哦^
<?php
  
  
$prefix = ini_get('session.upload_progress.prefix');
$name   = ini_get('session.upload_progress.name');
$key    = $prefix . $name;
session_start();
  
if (isset($_POST['get_info'])) {
    $logo = $prefix . $_POST['logo'];
    exit(json_encode($_SESSION[$logo]));
} elseif ($_POST) {
    echo '<script>var finashed = true;</script>';
}
  
?>
  
  
<div id="show_info_div"></div>
<form action="index.php" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="<?php echo $name; ?>" value="test">
    <input type="file" name="file"><br>
    <input type="submit" value="提交">
    <input type="button" value="获取信息" onclick="getUploadInfo()">
</form>
  
<script src="jquery.js"></script>
<script>
var sto = null;
var progress = null;
function getUploadInfo()
{
    $.post("index.php", {"get_info": 1, "logo": "test"}, function(data)
    {
        data = eval("(" + data + ")");
  
        progress = parseInt(parseInt(data.bytes_processed) * 10000 / parseInt(data.content_length)) / 100 + "%";
        document.getElementById("show_info_div").innerHTML = progress;
        sto = setTimeout("getUploadInfo()", 1000);
    });
}
  
if (typeof(finashed) !== "undefined")
{
    document.getElementById("show_info_div").innerHTML = "100.00% (上传成功!)";
}
</script>


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: PHP 将时间显示为“刚刚”“n分钟/小时前”等

下一篇:几种SWAP算法