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上传文件并显示上传进度的方法 的全部内容, 来源链接: utcz.com/z/325933.html

回到顶部