原生JS上传大文件显示进度条 php上传文件代码


Posted in Javascript onMarch 27, 2020

JS原生上传大文件显示进度条,php上传文件,供大家参考,具体内容如下

原生JS上传大文件显示进度条 php上传文件代码

在php.ini修改需要的大小:

upload_max_filesize = 8M   
post_max_size = 10M   
memory_limit = 20M 

<!DOCTYPE html>
<html>
<head>
 <title>原生JS大文件显示进度条</title>
 <meta charset="UTF-8">
 <style type="text/css">
 #parent{position: relative;width: 500px;height:20px;border:1px solid #ccc;display: none;border-radius:20px}
 #child{position: absolute;width:0%;height:20px;background: #5FB878;display: none;line-height: 20px;color: #ffffff;font-size: 12px;border-radius:20px}
 </style>
 <script type="text/javascript">
 function $(id){
  return document.getElementById(id);
 }
 </script>
</head>
<body>
 <form action="" method="post">
 <div id="parent">
  <div id="child"></div>
 </div>
 <p>上传文件:<input type="file" name="file"></p> 
 <p><input type="submit" value="提交" id="submit"></p>
 </form>
 <script type="text/javascript">
 var oForm = document.getElementsByTagName('form')[0];
 var oSubmit = $('submit');
 //如果多个人同时提交这个表单的时候,由于是异步的请求,互不影响
 oSubmit.onclick = function(){
  try{
  var xhr = new XMLHttpRequest();
  }catch(e){
  var xhr = new ActiveXObject("Msxml2.XMLHTTP");
  }
  xhr.upload.onprogress = function(e){
  var ev = e || window.event;
  var percent = Math.floor((ev.loaded / ev.total)*100); 
  // console.log(percent);
  //将百分比显示到进度条
  $('parent').style.display = 'block';
  $('child').style.display = 'block';
  //将上传进度的百分比显示到child里面
  $('child').style.width = percent+'%';
  $('child').style.textAlign = 'center';
  $('child').innerHTML = percent+'%';
  //判断如果百分比到达100%时候,隐藏掉
  if(percent==100){
   $('parent').style.display = 'none';
   $('child').style.display = 'none';
  }
  }
  xhr.open('post','progress.php',true);
  var form = new FormData(oForm);
  xhr.send(form);
  xhr.onreadystatechange = function(){
  if(xhr.readyState==4 && xhr.status==200){
   eval("var obj ="+xhr.responseText);
   if(obj.status){
   alert('上传成功');
   }else{
   alert('上传失败');
   }
  }
  }
  //阻止表单提交
  return false;
 }
 </script>
</body>
</html>
<?php
 //开始上传
 //注意:文件是windows系统的文件,采用的gbk编码,php文件使用的是utf-8编码
 //我们不能直接修改文件的编码,只能临时修改一下php的编码
 $dst_file = $_FILES['file']['name'];
 $dst_file = iconv('utf-8', 'gbk', $dst_file);
 if(move_uploaded_file($_FILES['file']['tmp_name'],$dst_file)){
 $data['status'] = 1;
 }else{
 $data['status'] = 0;
 }
 echo json_encode($data);

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS处理VBArray的函数使用说明
May 11 Javascript
js动态为代码着色显示行号
May 29 Javascript
使用原生JS实现弹出层特效
Dec 22 Javascript
JavaScript学习心得之概述
Jan 20 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
Aug 18 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
layui-select动态选中值的例子
Sep 23 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 Javascript
Javascript的promise,async和await的区别详解
Mar 24 Javascript
vue中遇到的坑之变化检测问题(数组相关)
Oct 13 #Javascript
seaJs使用心得之exports与module.exports的区别实例分析
Oct 13 #Javascript
vue中axios处理http发送请求的示例(Post和get)
Oct 13 #Javascript
JavaScript实现随机数生成器(去重)
Oct 13 #Javascript
AngualrJs清除定时器遇到的坑
Oct 13 #Javascript
React Native中Navigator的使用方法示例
Oct 13 #Javascript
React Native中TabBarIOS的简单使用方法示例
Oct 13 #Javascript
You might like
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
详解php与ethereum客户端交互
2018/04/28 PHP
js播放wav文件(源码)
2013/04/22 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
使用Javascript简单计算器
2018/11/17 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
python从sqlite读取并显示数据的方法
2015/05/08 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
食堂员工工作职责
2013/12/18 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
董事长岗位职责
2015/02/13 职场文书
幼儿园教师求职信
2015/03/20 职场文书
离婚被告代理词
2015/05/23 职场文书
关于远足的感想
2015/08/10 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript
MySQL主从切换的超详细步骤
2022/06/28 MySQL