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中常用编辑器推荐
Jan 02 PHP
MySQL GBK→UTF-8编码转换
May 24 PHP
php下保存远程图片到本地的办法
Aug 08 PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 PHP
php获取微信openid方法总结
Oct 10 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
laravel框架创建授权策略实例分析
Nov 22 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
世界上第一台立体声收音机
2021/03/01 无线电
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
[原创]php简单隔行变色功能实现代码
2016/07/09 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
js之onload事件的一点使用心得
2013/08/14 Javascript
jquery toolbar与网页浮动工具条具体实现代码
2014/01/12 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python语法快速入门指南
2015/10/12 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
python pycharm的安装及其使用
2019/10/11 Python
python操作yaml说明
2020/04/08 Python
三分钟演讲稿事例
2014/03/03 职场文书
大学军训感言300字
2014/03/09 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
爱国教育主题班会
2015/08/14 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
小程序后台PHP版本部署运行 LNMP+WNMP
2021/04/01 Servers
Python 实现定积分与二重定积分的操作
2021/05/26 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL