博主信息
博文 51
粉丝 3
评论 1
访问量 44161
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
文件上传—2018年4月20日15时55分
Gee的博客
原创
821人浏览过

前端部分:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文件上传</title>
</head>
<body>
	<form action="homework.php" method="post" enctype="multipart/form-data">
		<input type="hidden" name="MAX_FILE_SIZE" value="542488">
		<fieldset>
			<legend align="center">文件上传</legend>
			<p><strong>选择文件:</strong><input type="file" name="upload" id="file"></p>
		</fieldset>
		<p align="center"><button type="submit" name="submit" id="submit">上传</button></p>
		<p align="center" id="alert"></p>
	</form>
</body>
<script type="text/javascript" src="../js/jquery-3.3.1.js"></script>
<script type="text/javascript">
	$('#submit').click(function() {
		// console.log(1);
		// console.log($('#file'));
		var formData = new FormData($('form')[0]);
		formData.append('file',$(':file')[0].files[0]);
		$.ajax({
			url: 'homework.php',
			type: 'POST',
			data: formData,
			contentType: false, // 不可缺
            processData: false, // 不可缺
			success: function(data){
				console.log(data);
				$('#alert span').empty();
				$('#alert').append(data);
			}
		})
		return false;
	})
</script>
</html>

运行实例 »

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

PHP部分:

实例

<?php 
// $_FILES: 它是一个二位数组
// $_FILES['当前上传文件的控件名称,input[name="upload"]']
//        一维部分   二维部分
// $_FILES['upload']['name']:文件原始名称
// $_FILES['upload']['type']:文件类型
// $_FILES['upload']['size']:文件大小
// $_FILES['upload']['tmp_name']:服务器上的临时文件夹
// $_FILES['upload']['error']:错误代码

if($_SERVER['REQUEST_METHOD'] == 'POST') {
	//1.检测是否有文件被上传
	if (isset($_FILES['upload'])){
		// 2.设置一下允许上传的文件类型
		$allow = ['image/jpg', 'image/jpeg', 'image/png'];
		// 判断用户上传的文件类型是否正确
		if (in_array($_FILES['upload']['type'], $allow)) {
			//将用户文件上传到指定的临时目录:move_uploaded_file()
			if (move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")) {
				//上传成功
				echo '<span>上传成功</span>';
				// echo '<script>alert(1234)</script>';
			}

		} else {
			echo '<span>仅允许上传jpg或png格式的图片</span>';
		}
	}
	//如果上传失败,返回代码都是大于0的
	if ($_FILES['upload']['error'] > 0) {
		echo '<p>错误的原因是:<strong>';
		switch ($_FILES['upload']['error']) {
			case '1':
				echo '文件超过了php.ini中的大小';
				break;

			case '2':
				echo '文件超过了表单中设置的大小';
				break;

			case '3':
				echo '文件只有一部分上传了';
				break;

			case '4':
				echo '没有文件被上传';
				break;
			//没有第五种
			case '6':
				echo '临时文件夹没有';
				break;
			//没有第七种
			case '8':
				echo '上传意外终止';
				break;

			default:
				echo '未知错误';
				break;
		}

		echo '</strong></p>';
		//保险起见,最好手工把临时目录下面的文件情况,系统也会在会话结束的时候情况
		if (file_exists($upFile['tmp_name']) && is_file($upFile['tmp_name'])){
			unclick($upFile['tmp_name']);
		}
	}
}
?>

运行实例 »

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

效果图:

搜狗截图20180420155818.png

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学