PHP无刷新上传文件实现代码


Posted in PHP onSeptember 19, 2011

index.html

<html> 
<head> 
<title>无刷新上传文件</title> 
<meta Content-type="text/html" charset="utf-8" /> 
<script type="text/javascript"> 
function startUpload() { 
document.getElementById('processing').innerHTML = 'loding...'; 
return true; 
} 
function stopUpload(rel){ 
var msg; 
switch (rel) { 
case 0: 
msg = "上传成功"; 
break; 
case 1: 
msg = "上传的文件超过限制"; 
break; 
case 2: 
msg = "只能上传图片文件"; 
break; 
default: 
msg = "上传文件失败"; 
} 
document.getElementById('processing').innerHTML = msg; 
} 
</script> 
</head> 
<body> 
<div style="text-align:center"> 
<div id="processing"></div> 
<form action="upload.php" method="post" enctype="multipart/form-data" target="form-target" onsubmit="startUpload();"> 
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> 
<input type="file" name="myfile" /> 
<input type="submit" name="sub" value="upload" /> 
</form> 
<iframe style="width:0; height:0; border:0;" name="form-target"></iframe> 
</div> 
</body> 
</html>

upload.php
<?php 
sleep(2); 
$fileTypes = array('jpg','png','gif','bmp'); 
$result = null; 
$uploadDir = './upfiles'; 
$maxSize = 1 * pow(2,20); 
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['sub'])) { 
$myfile = $_FILES['myfile']; 
$myfileType = substr($myfile['name'], strrpos($myfile['name'], ".") + 1); 
if ($myfile['size'] > $maxSize) { 
$result = 1; 
} else if (!in_array($myfileType, $fileTypes)) { 
$result = 2; 
} elseif (is_uploaded_file($myfile['tmp_name'])) { 
$toFile = $uploadDir . '/' . $myfile['name']; 
if (@move_uploaded_file($myfile['tmp_name'], $toFile)) { 
$result = 0; 
} else { 
$result = -1; 
} 
} else { 
$result = 1; 
} 
} 
?> 
<script type="text/javascript"> 
window.top.window.stopUpload(<?php echo $result; ?>); 
</script>
PHP 相关文章推荐
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
基于PHP生成静态页的实现方法
May 10 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP一个简单的无需刷新爬虫
Jan 05 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 #PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 #PHP
php去除重复字的实现代码
Sep 16 #PHP
PHP与SQL注入攻击防范小技巧
Sep 16 #PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 #PHP
php中模拟POST传递数据的两种方法分享
Sep 16 #PHP
php中获得视频时间总长度的另一种方法
Sep 15 #PHP
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
PHP入门速成教程
2007/03/19 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
Yii框架创建cronjob定时任务的方法分析
2017/05/23 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
2015/06/19 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
2019/01/08 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python dumps和loads区别详解
2020/02/04 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
水利学院求职自荐书
2014/02/01 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
触电现场处置方案
2014/05/14 职场文书
分公司负责人任命书
2014/06/04 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
家长反馈意见及建议
2015/06/03 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电