前台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="上传" /> </form> <iframe style="width:0; height:0; border:0;" name="form-target"></iframe> </div> </body> </html>
后台php代码:upload.php:
<?php sleep(2); $fileTypes = array('jpg','png','gif','bmp'); $result = null; $uploadDir = './upload'; $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>
转自: http://blog.csdn.net/shaerdong/article/details/7978218
相关推荐
但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是...
在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php
主要介绍了PHP+iFrame实现页面无需刷新的异步文件上传,包含了iframe框架与form表单的运用及PHP文件上传等技巧,需要的朋友可以参考下
上传原理很简单就是利用表单的打开方式为iframe的id名,这样就可以在当前页面的iframe打来了,实现文件上传,再利用js返回上传结果。
后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP)。 有时做一个网站项目 (不论是否 ASP.NET),内附的 FileUpload 控件,功能不足 (页面必须刷新、不支援 AJAX),或外观太丑被用户嫌弃...
目的: 写一个使用和集成起来相对...在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。
* 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9; SWFUpload不同于其他基于Flash构建的上传工具,它...
使用PHP预压来实现文件上传可谓是有得天独厚的优势的,那么今天,就一起来做一个关于无刷新实现的文件上传吧。 ——————————————————————————– 普通表单 前端页面 <form action=./...
在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php
在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php
* 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9; SWFUpload不同于其他基于Flash构建的上传工具,它有着...
实现无刷新页面上传。 随时空中上传进度。 可以与其他库进行兼容。 支持Flash9及以上版本。 使用SWFUpload进行上传的页面如下: 使用方法 使用SWFUpload需要一些Js和DOM知识。 SWFUpload由4部分组成: ...
//2.5.9 修正了一些细节 隐藏了临时记事本和 函数查询 在编辑器右侧 修正了一些错误 打开页面如果是空白需要刷新一下 就能看到登陆窗口了 (没找到什么原因 有的浏览器 会这样) 识别 ICO文件 直接显示图标 识别 ...
Ajax Upload文件上传插件允许你上传多个插件而无需刷新页面,可以使用任何的元素来显示文件选择窗口。它可以在所有主流的浏览器下工作,从2.0版本开 始,不需要任何库运行。Ajax Upload文件上传插件不会污染任何命名...
•页面无刷新的上传 •提供上传进度的事件回调,实时显示上传进度 •良好的浏览器兼容性 •采用了命名空间以兼容其它JS的库 (例如 jQuery, Prototype, 等等) •对FLASH 8和FLASH 9播放器的支持 •对FLASH 9和FLASH ...
第12章 实现文件上传功能 12.1 简单的文件上传模块 12.2 数据库设计 12.3 带数据库操作的上传模块 12.4 本章小结 第13章 分页显示模块 13.1 分页技术的基本原理 13.2 数据库介绍 13.3 简单的分页技术实现 13.4 改进...
今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。 HTML 我们在页面上放置一个form表单,使用...
实例 59数据无刷新写入文本文件 实例60 提供自动完成 实例61 实现级联菜单的设计 实例62 PHP+Ajax树状菜单 第8章 Ajax数据库操作 实例63 显示数据库系统信息 实例64 实现数据库常见操作 实例65 完成数据库...
发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向。以一个简单的demo做说明: html如下所示,请求的路径action为”upload”,其它的不做任何处理: &...