PHP上传文件并显示上传进度
记得上传文件的时候要大点,不然还没看出来就上传完了,并且上传的文件不要太大,上G的就算了,2G的我试了,PHP受不了,我测试的是300多M的,记得要调整小PHP.ini参数啊 “选文件=》提交=》获取信息”要一气呵成哦^ ^
/**
* PHP上传文件并显示上传进度
*
* @param
* @arrange 512-笔记网: 512Pic.com
**/
<?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>
/*** 来自编程之家 jb51.cc(jb51.cc) ***/
原文链接:https://www.f2er.com/php/528509.html