【PHP实例】PHP+AJAX 实现无刷新上传图像

1、实例说明

文件上传处理是无法通过 XMLHttpRequest 对象实现的,但可以通过一个 iframe 来提供表单请求,通过这样的方法实现文件上传无须对整个页面刷新,实现类似 AJAX 的功能。

2、关键技术

实现本例的关键是把 iframe 的 css属性 dispaly 设置为 none,通过为 iframe 标签设置 name 属性,就可以使用 form 标签中的 target 属性将请求传送给隐藏的 iframe 标签。设置好了之后就可以完成上传操作。

3、设计过程

(1)创建一个 upload.html 文件,在文件中创建一个包含隐藏 firame 标签的表单。代码如下:

<form name="form" action="upload.php" method="post" enctype="multipart/form-data" target="uploadframe" onSubmit="uploading(this)">
	请选择上传图像:
	<input type="file" name="image">
	<input type="submit" name="sub" value="提交">
	<iframe id="uploadframe" name="uploadframe" src="upload.php" style="display: none;"></iframe>
</form>

js 部分的代码:

<script>
	function uploading(form){
		form.submit();
	}
</script>

(2)创建 upload.php 文件,通过 move_uploaded_file() 函数实现文件上传。代码如下:

<?php
$ext = ['image/jpg','image/png','image/gif','image/jpeg'];
$floder = 'images';
if(!is_dir($floder)){
	mkdir($floder);
}
if(isset($_FILES['image'])){
	if(in_array($_FILES['image']['type'], $ext)){
		$path = $floder.'/'.$_FILES['image']['name'];
		if(move_uploaded_file($_FILES['image']['tmp_name'], $path)){
			echo "<script>alert('图像上传成功!')</script>";
		} else {
			echo "<script>alert('上传失败!')</script>";
		}
	} else {
		echo "<script>alert('文件类型不正确!')</script>";exit;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值