6d6d62a4e772b1a4ccb41505b1f001b.png

说个前提:

PHP配置文件中规定默认上传文件大小限制2M以下,如需上传大文件需同时更改php.ini中的upload_max_filesize和max_execution_time以及post_max_size的值。

相关推荐:《PHP教程》

主界面以及Ajax实现:

index.html

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>上传文件</title><script type="text/javascript">function sub() {var obj = new XMLHttpRequest();obj.onreadystatechange = function() {if (obj.status == 200 && obj.readyState == 4) {document.getElementById('con').innerHTML = obj.responseText;}} // 通过Ajax对象的upload属性的onprogress事件感知当前文件上传状态obj.upload.onprogress = function(evt) {// 上传附件大小的百分比var per = Math.floor((evt.loaded / evt.total) * 100) + "%";// 当上传文件时显示进度条document.getElementById('parent').style.display = 'block';// 通过上传百分比设置进度条样式的宽度document.getElementById('son').style.width = per;// 在进度条上显示上传的进度值document.getElementById('son').innerHTML = per;} // 通过FormData收集零散的文件上传信息var fm = document.getElementById('userfile3').files[0];var fd = new FormData();fd.append('userfile', fm); obj.open("post", "upload.php");obj.send(fd);}</script><style type="text/css">#parent {width: 200px;height: 20px;border: 2px solid gray;background: lightgray;display: none;}#son {width: 0;height: 100%;background: lightgreen;text-align: center;}</style></head><body><h2>Ajax实现进度条文件上传</h2><div id="parent"><div id="son"></div></div><p id="con"></p><input type="file" name="userfile" id="userfile3"><br><br><input type="button" name="btn" value="文件上传" οnclick="sub()"></body></html>

php处理上传文件:upload.php

<?php // 上传文件进行简单错误过滤if ($_FILES['userfile']['error'] > 0) {exit("上传文件有错".$_FILES['userfile']['error']);} // 定义存放上传文件的真实路径$path = './upload/';// 定义存放上传文件的真实路径名字$name = $_FILES['userfile']['name']; // 将文件的名字的字符编码从UTF-8转成GB2312$name = iconv("UTF-8", "GB2312", $name); // 将上传文件移动到指定目录文件中if (move_uploaded_file($_FILES['userfile']['tmp_name'], $path.$name)) {echo "文件上传成功";} else {echo "文件上传失败";} ?>

更多相关文章

  1. PHP上传图片到数据库并显示
  2. php实现上传图片功能
  3. php上传文件找不到临时文件夹(解决方法)
  4. 015-Java Web文件上传
  5. 【JavaWeb基础】文件上传和下载(修订版)
  6. mall整合OSS实现文件上传
  7. Springboot实现文件上传下载
  8. 【不用框架】文件上传和下载
  9. 使用Rails 3.2和AJAX(非flash上传解决方案)将多个文件直接上载到

随机推荐

  1. eval是邪恶的,但它有缺陷吗?(复制)
  2. 访问D3的var格式数据
  3. 【JavaScript】JavaScript的对象-对象专
  4. Javascript通过Ajax与C#约会
  5. 在javascript中识别/获取选定的上下文菜
  6. 如何将window.location设置为特定路径(没
  7. javascript实现n阶乘的2个方法
  8. javascript中this的指向问题
  9. 两个iframe之间实现锚点功能
  10. [转]在网页中加入声音文件,并且用JavaScri