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面向对象分析设计的61条军规小结
Jul 17 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
php中this关键字用法分析
Dec 07 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 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/11/27 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
微信小程序联网请求的轮播图
2017/07/07 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
js实现简单进度条效果
2020/03/25 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
python中MySQLdb模块用法实例
2014/11/10 Python
深入理解Javascript中的this关键字
2015/03/27 Python
TensorFlow Session会话控制&amp;Variable变量详解
2018/07/30 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
物业招聘计划书
2014/01/10 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
民主生活会发言材料
2014/10/20 职场文书
专项资金申请报告
2015/05/15 职场文书
工资证明格式模板
2015/06/12 职场文书