PHP는 파일 업로드를 구현합니다(업로드된 파일 저장).

필요하다:

1. 파일 형식에 제한이 있습니다.

2. 업로드한 파일을 저장하세요 

2. 업로드된 파일을 저장할 파일은 연, 월, 일별로 저장해야 합니다.

3. 연결 테이블 추가

//프로젝트 디렉터리 구조

test
|------upload # 파일 업로드 디렉토리
|------index.html # 양식 파일
|------index.php # PHP 업로드 코드

먼저 idnex.html에서 업로드 양식을 만듭니다. 

<form action="index.php" method="post" enctype="multipart/form-data">
	 <label for="file">文件名:</label>
	 <input type="file" name="file" id="file"><br>
	 <input type="submit" name="submit" id="submit" value="提交">
</form>

 index.php에 업로드 스크립트를 생성하고 이 업로드에 연결 테이블을 추가했습니다.

<?php

// 连接数据库 mysqli_connect() 三个参数分别是 mysql服务器主机地址 mysql用户名 mysql用户名密码
$conn = mysqli_connect('', '', '');
mysqli_query($conn , "set names utf8");
mysqli_select_db($conn,'');


//  获取年月日
$y = date("Y");
$m = date("m");
$d = date("d");

// 允许上传的图片后缀
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
// echo $_FILES["file"]["size"];
$extension = end($temp);     // 获取文件后缀名
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800)   // 小于 200 kb
&& in_array($extension, $allowedExts))
{
	if ($_FILES["file"]["error"] > 0)
	{
		echo "错误:: " . $_FILES["file"]["error"] . "<br>";
	}
	else
	{	
		// 判断当期目录下的 upload 目录是否存在该文件
		// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
		if (file_exists("upload/" . $_FILES["file"]["name"]))
		{
			echo json_encode([
				'code'=>0,
				'msg'=>"文件重复上传。",
				'data'=>[]
			]);
		}
		else
		{
			$path = "upload/";
			$pathY = $path . "/" . $y;
			$pathM = $pathY . "/" . $m;
			$pathD = $pathM . "/" .$d;
			if(!is_dir($pathY)){
				mkdir($pathY,0755,true);
			};
			if(!is_dir($pathM)){
				mkdir($pathM,0755,true);
			};
			if(!is_dir($pathD)){
				mkdir($pathD,0755,true);
			};
			// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
			$dsy = $pathD . "/" . $_FILES["file"]["name"];
			move_uploaded_file($_FILES["file"]["tmp_name"],$dsy);
			$spl = "insert into image (url) values ('$dsy')";
			$retavls = mysqli_query($conn,$spl);
				if($retavls){
					echo json_encode([
					'code'=>1,
					'msg'=>"上传成功",
					'data'=>['img'=>$dsy]
				]);
			};
		}
	}
}
else
{
	echo json_encode([
		'code'=>3,
		'msg'=>"非法的文件格式",
		'data'=>[]
	]);
}
?>

추천

출처blog.csdn.net/m0_74265396/article/details/132869148