<?php session_start(); ?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>Demo : PHP(5.4) Upload Progress via Session</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="">
<meta name="robots" content="INDEX,FOLLOW" /> <link rel="shortcut icon" href="/favicon.ico">
<link href="../assets/css/bootstrap.min.css" rel="stylesheet">
<link href="../assets/css/pureweber.css" rel="stylesheet"> <style type="text/css">
.progress{
width:100%;
border:1px solid #4da8fe;
border-radius:40px;
height:20px;
position:relative;
}
.progress .label{
position:relative;
text-align:center;
}
.progress .bar{
position:absolute;
left:0;top:0;
background:#4D90FE;
height:20px;
border-radius:40px;
min-width:20px;
}
</style> </head>
<body>
<div id="nav" class="container">
<div class="inner">
<a href="/" class="logo">PureWeber</a>
<ul>
<li><a id="to-top" href="#nav">&laquo; 回到文章</a></li>
</ul>
</div>
</div>
<div id="wrap" class="container"> <div id="header">
<h1>Demo : PHP(5.4) Upload Progress via Session</h1>
</div>
<div id="article"> <form id="upload-form" action="upload.php" method="POST" enctype="multipart/form-data" style="margin:15px 0" target="hidden_iframe">
<input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="test" />
<p><input type="file" name="file1" /></p>
<p><input type="submit" value="Upload" /></p>
</form> <div id="progress" class="progress" style="margin-bottom:15px;display:none;">
<div class="bar" style="width:0%;"></div>
<div class="label">0%</div>
</div> </div> <!-- #article --> <div id="footer">
<p>Copyright &copy; 2012 PureWeber.com</p>
</div>
</div><!-- #wrap --> <iframe id="hidden_iframe" name="hidden_iframe" src="about:blank" style="display:none;"></iframe>
<script src="../../../jquery-1.11.2.min.js"></script>
<script type="text/javascript">
function fetch_progress(){
$.get('progress.php',{ '<?php echo ini_get("session.upload_progress.name"); ?>' : 'test'}, function(data){
var progress = parseInt(data); $('#progress .label').html(progress + '%');
$('#progress .bar').css('width', progress + '%'); if(progress < 100){
setTimeout('fetch_progress()', 1000);
}else{
$('#progress .label').html('完成!');
}
}, 'html');
} $('#upload-form').submit(function(){
$('#progress').show();
setTimeout('fetch_progress()', 1000);
});
</script>
</body>
</html>
<?php
session_start(); $i = ini_get('session.upload_progress.name'); $key = ini_get("session.upload_progress.prefix") . $_GET[$i]; if (!empty($_SESSION[$key])) {
$current = $_SESSION[$key]["bytes_processed"];
$total = $_SESSION[$key]["content_length"];
echo $current < $total ? ceil($current / $total * 100) : 100;
}else{
echo 100;
} ?>
<?php

if(is_uploaded_file($_FILES['file1']['tmp_name'])){
//unlink($_FILES['file1']['tmp_name']);
move_uploaded_file($_FILES['file1']['tmp_name'], "./{$_FILES['file1']['name']}");
} ?>

php文件上传进度条例子的更多相关文章

  1. HTML5矢量实现文件上传进度条

    在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...

  2. 基于HT for Web矢量实现HTML5文件上传进度条

    在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...

  3. PHP中使用Session配合Javascript实现文件上传进度条功能

    Web应用中常需要提供文件上传的功能.典型的场景包括用户头像上传.相册图片上传等.当需要上传的文件比较大的时候,提供一个显示上传进度的进度条就很有必要了. 在PHP .4以前,实现这样的进度条并不容易 ...

  4. iOS_文件上传进度条的实现思路-AFNettworking

    iOS_文件上传进度条的实现思路-AFNettworking //要上传的文件名,在这里我使用当前日期做为文件的名称 NSString * fileName =[NSString stringWith ...

  5. asp.net文件上传进度条研究

    文章:asp.net 文件上传进度条实现代码

  6. Layui多文件上传进度条

    Layui原生upload模块不支持文件上传进度条显示,百度,谷歌找了一下不太适用.后面找到一个别人修改好的JS,替换上去,修改一下页面显示即可使用,一下是部分代码 HTML: <div cla ...

  7. spring定时任务-文件上传进度条

    spring定时任务 导依赖 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <dep ...

  8. 利用Bootstrap简单实现一个文件上传进度条

    © 版权声明:本文为博主原创文章,转载请注明出处 说明: 1. 使用commons-fileupload.jar实现文件上传及进度监听 2. 使用bootstrap的进度条进行页面显示 3. 因为进度 ...

  9. vue多文件上传进度条 进度不更新问题

    转自 hhttp://www.cnblogs.com/muge10/p/6767493.html 感谢这位兄弟的文章,之前因为这个问题 ,我连续在sgmentflow上提问过多次,完全没人能回答.谢谢 ...

随机推荐

  1. tab切换,滑动门

    <SCRIPT type=text/javascript>  jQuery(document).ready(function () {          changediv([" ...

  2. JDBC连接MySQL数据库的方法和实例

    import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java. ...

  3. 使用shell脚本自动化对硬盘进行分区

    在Linux系统中,可以使用fdisk 对硬盘进行分区,但是要手动执行很多命令,这样使用有很麻烦,现在记一个用fdisk 的脚本自动执行. #make partition dd count= fdis ...

  4. 关于ubuntukylin安装后界面中英文混杂的问题

    起因 一直使用的是ubuntu原版的系统,ubuntukylin出来后也没用使用过.一次去其论坛逛了一圈之后决定使用一下. 安装后的截面和ubuntu原版的差不多,还是挺漂亮的. 但是有一个问题是,安 ...

  5. Python进程、线程

    Lock & RLock :用来确保多线程多共享资源的访问. Semaphore : 用来确保一定资源多线程访问时的上限,例如资源池. Event : 是最简单的线程间通信的方式,一个线程可以 ...

  6. 一次完整的HTTP事务是怎样一个过程?

    一次完整的HTTP事务是怎样一个过程? 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解. 关于HTTP协议可以参考以下: HTTP协议漫谈  http://kb.cnblog ...

  7. 17.3---阶乘尾多少个0(CC150)

    思路,其实这题easy,就是看多少个5. 答案: public static int getFactorSuffixZero(int n) { // write code here int res = ...

  8. 跨域解决方案二:使用JSONP实现跨域

    跨域的实现方式有多种,除了 上篇文章 提到的CORS外,常见的还有JSONP.HTML5.Flash.iframe.xhr2等. 这篇文章对JSONP的跨域原理进行了探索,并将我的心得记录在这里和大家 ...

  9. mysql 表关联查询报错 ERROR 1267 (HY000)

    解决翻案:http://stackoverflow.com/questions/1008287/illegal-mix-of-collations-mysql-error 即: SET collati ...

  10. python gui之tkinter事件处理

    事件一览表 事件 代码 备注 鼠标左键单击按下 1/Button-1/ButtonPress-1   鼠标左键单击松开 ButtonRelease-1   鼠标右键单击 3   鼠标左键双击 Doub ...