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中利用XML技术构造远程服务(上)
Oct 09 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
反射调用private方法实践(php、java)
Dec 21 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
golang与PHP输出excel示例
Jul 22 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 PHP
PHP的new static和new self的区别与使用
Nov 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部分常见问题总结
2006/10/09 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
python使用scrapy解析js示例
2014/01/23 Python
用Python编写一个简单的Lisp解释器的教程
2015/04/03 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Django如何配置mysql数据库
2018/05/04 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
对python生成业务报表的实例详解
2019/02/03 Python
实例讲解Python3中abs()函数
2019/02/19 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
大学生涯自我鉴定
2014/01/16 职场文书
生物科学专业职业规划书范文
2014/02/11 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
图文详解nginx日志切割的实现
2022/01/18 Servers
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技