php上传文件并显示上传进度的方法

5年以前  |  阅读数:483 次  |  编程语言:PHP 

本文实例讲述了php上传文件并显示上传进度的方法。分享给大家供大家参考。具体如下:

记得上传文件的时候要大点,不然还没看出来就上传完了,并且上传的文件不要太大,上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>

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例