php核心编程值简单文件上传

浏览器请求服务器的html脚本(包含文件上传表单)
用户从本地上传(按钮)
用户点击上传
服务器将文件保存到临时目录
判断文件是否合法
服务器脚本将合法文件从临时目录移动到指定目录

如何编写表单
method 属性:表单提交的方式必须为post
enctype 属性:form表单属性,规范编码方式

1.application/x-www-form-urlencoded    
在发送前编码所有字符(默认)

2.multipart/form-data    不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。

3.text/plain    
空格转换为 "+" 加号,但不对特殊字符编码。


上传表单:file表单
method="POST" 
enctype="multipart/form-data"  默认的
action="01.php"

$_FILES的属性
name:文件在用户电脑中的实际名称 后缀名
tmp_name:文件上传到服务器的临时路径
type:文件的类型 
全称:多功能互联网邮件扩展 
帮助计算机识别用什么软件打开

error:文件上传的代号
告知网页上传过程中是否出现问题

值:0 成功
   1 超过php.ini的限制值
   2 文件大小超过html表单中的最大值
   3 只有部分文件上传 文件传输是以二进制传输
   4 没有被上传       没有选中文件
   6 找不到临时文件夹 没有设置临时文件夹
   7 文件写入失败     php没有权限移动文件

size:文件大小

怎么移动临时文件移动到指定目标
判断是否为上传文件
is_uploaded_file()
移动文件
move_uploaded_feil()

先获取文件信息,五部分
获取文件临时文件,进行判断是否为post上传文件
是的话开始移动

<html>
<head></head>
<body>
<form method="POST" action="01.php">
	<input type="checkbox" name="hobby[]" value="basketball">basketball
	<input type="checkbox" name="hobby[]" value="pp">pp
	<input type="checkbox" name="hobby[]" value="aa">aa

	<input type="radio" name="gender" value='1' checked="checked">man
	<input type="radio" name="gender" value='2'>woman
	<input type="submit" name="ti" value="">
</form>
<form method="POST" enctype="multipart/form-data" action="01.php">
	<input type="file" name="image"/>
	<input type="submit" name="sub" value="文件上传"/>
</form>
</body>
</html>
<?php
header('content-type:text/html;charset=utf-8');
echo "<prev>";
//var_dump($_POST);
//var_dump($_FILES);

//取得文件信息
$file=$_FILES['image'];
if(is_uploaded_file($file['tmp_name'])){//判断是否是post上传
	//判断移动是否成功
	if(move_uploaded_file($file['tmp_name'], 'upload/'.$file['name'])){
		echo "成功!";
	}else{
		echo "移动失败!";
	}
}else{
	echo "上传失败!";
}
?>

猜你喜欢

转载自blog.csdn.net/Lonelyhat/article/details/91869248