`
slbszq
  • 浏览: 264584 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

PHP 实现页面无刷新上传文件

阅读更多

前台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

分享到:
评论

相关推荐

    Ajax无刷新上传文件( jsp版本)

    但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。 我在这里这里用的技术是...

    无刷新 多文件上传插件

    在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php

    PHP+iFrame实现页面无需刷新的异步文件上传

    主要介绍了PHP+iFrame实现页面无需刷新的异步文件上传,包含了iframe框架与form表单的运用及PHP文件上传等技巧,需要的朋友可以参考下

    php利用iframe实现无刷新文件上传功能的代码

    上传原理很简单就是利用表单的打开方式为iframe的id名,这样就可以在当前页面的iframe打来了,实现文件上传,再利用js返回上传结果。

    jQuery+AJAX实现网页无刷新上传

    后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP)。 有时做一个网站项目 (不论是否 ASP.NET),内附的 FileUpload 控件,功能不足 (页面必须刷新、不支援 AJAX),或外观太丑被用户嫌弃...

    上传文件的小插件

    目的: 写一个使用和集成起来相对...在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。

    SWFUpload PHP大文件上传

    * 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9; SWFUpload不同于其他基于Flash构建的上传工具,它...

    PHP Ajax实现无刷新附件上传

    使用PHP预压来实现文件上传可谓是有得天独厚的优势的,那么今天,就一起来做一个关于无刷新实现的文件上传吧。 ——————————————————————————– 普通表单 前端页面 &lt;form action=./...

    多文件上传插件

    在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php

    多文件上传插件 v1.3

    在页面元素中include一个php文件,会在dom中增加一个上传文件的按钮,在dom尾部追加一个隐藏的iframe以及一个隐藏的form表单用于实现无刷新上传文件和调用页面js方法实现回调操作。 全部的配置在config.php

    SWFUpload 大文件上传 java

    * 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9; SWFUpload不同于其他基于Flash构建的上传工具,它有着...

    java swfupload 多文件上传js

    实现无刷新页面上传。 随时空中上传进度。 可以与其他库进行兼容。 支持Flash9及以上版本。 使用SWFUpload进行上传的页面如下: 使用方法 使用SWFUpload需要一些Js和DOM知识。 SWFUpload由4部分组成: ...

    八年PHP文件管理器 v2.6.2 免费版.rar

    //2.5.9 修正了一些细节 隐藏了临时记事本和 函数查询 在编辑器右侧 修正了一些错误 打开页面如果是空白需要刷新一下 就能看到登陆窗口了 (没找到什么原因 有的浏览器 会这样) 识别 ICO文件 直接显示图标 识别 ...

    php图片异步上传

    Ajax Upload文件上传插件允许你上传多个插件而无需刷新页面,可以使用任何的元素来显示文件选择窗口。它可以在所有主流的浏览器下工作,从2.0版本开 始,不需要任何库运行。Ajax Upload文件上传插件不会污染任何命名...

    SWFUpload v2.2.0.1 多文件上传控件(带中文文档)

    •页面无刷新的上传 •提供上传进度的事件回调,实时显示上传进度 •良好的浏览器兼容性 •采用了命名空间以兼容其它JS的库 (例如 jQuery, Prototype, 等等) •对FLASH 8和FLASH 9播放器的支持 •对FLASH 9和FLASH ...

    PHP网络编程技术与实践 源码

    第12章 实现文件上传功能 12.1 简单的文件上传模块 12.2 数据库设计 12.3 带数据库操作的上传模块 12.4 本章小结 第13章 分页显示模块 13.1 分页技术的基本原理 13.2 数据库介绍 13.3 简单的分页技术实现 13.4 改进...

    PHP+jQuery+Ajax实现多图片上传效果

    今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。 HTML 我们在页面上放置一个form表单,使用...

    PHP+Ajax网站开发典型实例

    实例 59数据无刷新写入文本文件 实例60 提供自动完成 实例61 实现级联菜单的设计 实例62 PHP+Ajax树状菜单 第8章 Ajax数据库操作 实例63 显示数据库系统信息 实例64 实现数据库常见操作 实例65 完成数据库...

    谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向。以一个简单的demo做说明:  html如下所示,请求的路径action为”upload”,其它的不做任何处理: &...

Global site tag (gtag.js) - Google Analytics