php上傳文件并顯示上傳進度

xm52 9年前發布 | 1K 次閱讀 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>


 本文由用戶 xm52 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!