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 动态执行带有参数的类方法
Apr 10 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
May 15 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
php单链表实现代码分享
Jul 04 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 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错误、异常处理机制(补充)
2012/05/07 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
python购物车程序简单代码
2018/04/18 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
自我鉴定的范文
2013/10/03 职场文书
教育专业自荐书范文
2013/12/17 职场文书
市场部规章制度
2014/01/24 职场文书
班级安全教育实施方案
2014/02/23 职场文书
捐资助学倡议书
2014/04/15 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
土建技术员岗位职责
2015/04/11 职场文书
员工辞职信范文大全
2015/05/12 职场文书