首页 > 技术文章 > 上传文件

aqxss 2017-01-12 12:00 原文

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>Document</title>
</head>
<body>
	<form action="shangchuancl.php" method="post" enctype="multipart/form-data"><!--action要处理的界面名。method="post"传递的方式。enctype="multipart/form-data"可上传任何文件-->
		<input type="file" name="ni" /><!--name="ni"用来传递提交的值ni-->
		<input type="submit" value="上传" /><!--按钮上传-->
	</form>
</body>
</html>

 //var_dump($_FILES["ni"]);
//设置条件,给用户上传加控制
//1.控制上传类型
//2.控制上传大小
//3.防止文件名重复的方法
    //修改保存的文件名
        //用户名+时间戳+随机数+文件名(原来的文件名)他最常用*****
        //流水号方式,在数据库里面作为主键值,每一次起名字的时候先看看最后多大完了加个1
    //不修改保存文件名方式
        //使用文件夹,把时间作为文件夹名称,自动创建的都是
//4.保存文件
        
//先判断上传文件是否出错

<?php
if($_FILES["ni"]["error"])
{
	echo $_FILES["ni"]["error"];//判断如果出错直接输出他自身
}
else
{
	//上传文件没有出错
	//第一步控制上传文件的类型并且大小也要满足.这里设置文件大小要小于1兆
	if(($_FILES["ni"]["type"]=="image/jpeg" || $_FILES["ni"]["type"]=="image/png") && $_FILES["ni"]["size"]<1024000)
	{
		//防止文件名重复
		//把以后上传的文件放在一个文件夹里,也就是找到文件夹存放的位置
		$niname = "./file/".date("YmdHis").$_FILES["ni"]["name"];//时间戳date("YmdHis")
		//转换编码格式
		$niname = iconv("UTF-8","gb2312",$niname);//国标gb2312
		//判断文件是否存在
		if(file_exists($niname))//exists存在的意思
		{
			echo "该文件已存在!";
		}
		else
		{
			//保存文件:move移动|uploaded上传|file文件//方法
			move_uploaded_file($_FILES["ni"]["tmp_name"],$niname);
		}
	}
	else
	{
		echo "文件类型不正确!";
	}
}	
?>

上传后结果:

 

 

推荐阅读