博客列表 >PHP课程 文件上传 0419

PHP课程 文件上传 0419

Sam徐民强的博客
Sam徐民强的博客原创
2018年04月22日 23:23:46742浏览

PHP课程之  文件上传

系统变量: $_FILES是一个二维数组,一维是当前的文件上件控件的名称,就是name属性值

二维是它的当前属性,最重要的有以下几个:

$_FILES['file']['name']: 文件原始名称

$_FILES['file']['type']: 文件类型

$_FILES['file']['size']: 上传的文件大小

$_FILES['file']['tmp_name']: 服务器上的临时文件夹

$_FILES['file']['error']: 上传错误代码


该代码 仅仅是文件上传,练习php文件上传的操作步骤和语法。下步改善成PHP+AJAX 上传文件。

这里的提示信息可能有bug。

实例

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript" src="../js/jquery.js"></script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
	<fieldset>
		<legend align="center">文件上传</legend>
		<p><strong>选择文件:</strong><input type="file" name="upload" id="upload"></p>
	</fieldset>	
	<p align="center"><button type="submit" id="submit">上传</button></p>
</form>
<script type="text/javascript">

var flag = true
if (flag == true){
$('#submit').click(function(){

	//alert('1')
	if($('#upload').val().length==0){
		errorMsg('请选择文件')

		flag=false
		//return false
	}
})}
function errorMsg(msg){
	$('#upload').after('<span style="color:red">'+msg+'</span>')
}
</script>

<?php
//检测请求类型是否POST,如果不是应该提示用户类型不对
//var data;
$errMsg='';
$status=0;
if($_SERVER['REQUEST_METHOD']=='POST'){
	
	if(isset($_FILES['upload'])){
		//设置允许上传文件类型
		$allow=['image/jpg','image/png','image/jpeg'];

		if(in_array($_FILES['upload']['type'], $allow)){
			//将文件先移动到临时目录
			
			if (move_uploaded_file($_FILES['upload']['tmp_name'], "upload/{$_FILES['upload']['name']}")){
				$errMsg='上传成功';
				// $status=1;
				//json_encode(['status'=>1,'msg'=>'上传成功']);
			}else{
				$errMsg='系统未知错误';
				// $status=2;
				//json_encode(['status'=>2,'msg'=>'系统未知错误']);
			}
		}else{
			$errMsg='文件格式不正确,请重新选择!';
			// $status=3;
			//json_encode(['status'=>3,'msg'=>'文件格式不正确,请重新选择!']);
		}
	}else{
		$errMsg='您未选择任何文件,请重新选择!';
		// $status=4;
		//json_encode(['status'=>4,'msg'=>'您未选择任何文件,请重新选择']);
	}


	if (file_exists($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name'])) {
				unlink($_FILES['upload']['tmp_name']);
	}
	//json_encode(['status'=>$status,'msg'=>$errMsg]);	
		
	

}else{
	//json_encode(['status'=>0,'msg'=>'非法请求']);
	$errMsg='请选择文件!';
}

echo "<script>errorMsg('{$errMsg}');</script>";
?>

</body>
</html>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议