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 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
删除数组元素实用的PHP数组函数
Aug 18 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
Jun 10 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
php生成txt文件实例代码介绍
Apr 28 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
PHP编程一定要改掉的5个不良习惯
Sep 18 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 Embed SAPI实现Opcodes查看器
2015/11/10 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
python 合并文件的具体实例
2013/08/08 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
python开发简易版在线音乐播放器
2017/03/03 Python
基于python绘制科赫雪花
2018/06/22 Python
Python错误处理操作示例
2018/07/18 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
入党介绍人评语
2014/05/06 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书