博主信息
博文 33
粉丝 3
评论 1
访问量 28808
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP+AJAX实现图片上传(4月19日课程)2018/05/14
箭里飘香
原创
820人浏览过

本实例演示了将form表单中选择的文件通过Ajax提交到后台PHP脚本执行上传操作,将PHP将上传后的信息返回,前端JS脚本将反馈信息动态显示在HTML页面中。

前端代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>图片上传</title>
</head>
<body>
	<form id="picupload" enctype="multipart/form-data">
			<fieldset>
				<legend>图片上传测试</legend>
				<label for='file'></label><input type="file" name="file" id='file'>
				<p><button type='submit' name='submit' id='submit'>上传</button></p>
				
				
			</fieldset>
		

	</form>
	
</body>
</html>

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
<script type="text/javascript">
  
$('#submit').click(function(){
	var pic = new FormData();
    pic.append("file", $("#file").get(0).files[0]);

      $.ajax({
        url:'upload.php',
        type:"post",
        processData: false,
        contentType: false,
        data:pic,
        dataType:'json',
        success:function(res){  
        	
        	$('span').remove()
        	switch(res.status){
        		case 0:
        		$('p').after('<span>').next().html(res.msg).css('color','red')
	      		break
	      		case 1:
	      		$('p').after('<span>').next().html(res.msg).css('color','green')
	      		break
        	}
		}
      
		
	})
    return false
})

</script>

运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP代码:

实例

<?php


$randname =date('Hms');
$randname .= rand(0,999)*rand(0,999).'.jpg';
$allow = ['image/jpg','image/jpeg','image/png'];



if ($_SERVER['REQUEST_METHOD']=='POST') {

	$msg = '';
	$status = 0;

	if (isset($_FILES['file'])) {

		$name = $_FILES['file']['name'];
		$type = $_FILES['file']['type'];
		$size = $_FILES['file']['size'];
		$tmp_name = $_FILES['file']['tmp_name'];
		$error = $_FILES['file']['error'];

		if(in_array($type,$allow)){
			if ($size < (1024*50)) {
				move_uploaded_file($tmp_name,'upload/'.$randname);
				$status = 1;
				$msg = "图片上传成功";
			}else{
				$msg = "文件尺寸不得大于50KB!";				
			}
		}else{
			$msg = "不支持此类型文件上传!";			
		}
	}else{
		$msg = "文件没有选择!";		
	}
	exit(json_encode(['status'=>$status,'msg'=>$msg]));
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学