文件上传

文件提交

form表单提交文件加一个属性:enctype="multipart/form-date"

PHP页面用FILES接收,接收到的是一个数组

name  文件名

type  文件类型

tmp_name  文件路径

error  文件上传出错会有内容

size  文件大小(单位B)

1.控制上传文件的类型

2.控制上传文件的大小

3.防止文件名重复

  修改文件名

  1.用户名+时间戳+随机数+文件名

  2.流水号

  使用文件夹

4.保存文件

首先判断文件上传是否出错

if($_FILES["file"]["error"])
{
	echo $_FILES["file"]["error"];
}

然后控制文件上传的类型、大小...

else
{
	//控制上传文件的类型,大小
	if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png") && $_FILES["file"]["size"]<1024000)
	{
		//找到文件存放的位置
		$filename = "./file/".date("YmdHis").$_FILES["file"]["name"];
		
		//转换编码格式
		$filename = iconv("UTF-8","gb2312",$filename);
		
		//判断文件是否存在
		if(file_exists($filename))
		{
			echo "该文件已存在!";
		}
		else
		{
			//保存文件
			move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
		}
	}
	else
	{
		echo "文件类型不正确!";
	}
}

  

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:

  • $_FILES["file"]["name"] - 上传文件的名称
  • $_FILES["file"]["type"] - 上传文件的类型
  • $_FILES["file"]["size"] - 上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关允许哪些用户上传文件的限制。

原文地址:https://www.cnblogs.com/czx521/p/6277025.html