<?php
$name=$_FILES['img']['name'];
$type=$_FILES['img']['type'];
$tmp_name=$_FILES['img']['tmp_name'];
$error=$_FILES['img']['error'];
$size=$_FILES['img']['size'];
$allowType=['uploads/png','uploads/jpg','uploads/jpeg'];
if (!in_array($type,$allowType)){
$arr=[
'code'=>10001,
'info'=>'文件类型错误'
];
echo json_encode($arr);
die();
}
$allowSize=2*1024*1024;
if ($size>$allowSize){
$arr=[
'code'=>10002,
'info'=>'文件大小错误'
];
echo json_encode($arr);
die();
}
$red='./img/'.date('y-m-d');
if (!file_exists($red)){
mkdir($red,0777,true);
}
$obj=$red.'/'.$name;
$sde=move_uploaded_file($tmp_name,$obj);
if (!$sde){
$arr=[
'code'=>10003,
'info'=>'文件上传错误'
];
echo json_encode($arr);
die();
}
$username=$_POST['username'];
$age=$_POST['age'];
$sex=$_POST['sex'];
$baj=$_POST['baj'];
$str=$username.'/'.$age.'/'.$sex.'/'.$baj."\r\n";
$bom=file_put_contents('day15.txt',$str,FILE_APPEND);
if ($bom){
$arr=[
'code'=>200,
'info'=>'上传成功'
];
echo json_encode($arr);
}else{
$arr=[
'code'=>500,
'info'=>'上传失败'
];
echo json_encode($arr);
}
这段代码主要是一个文件上传处理逻辑,它接收上传的文件并保存到服务器上的指定目录中,同时记录用户的其他相关信息到一个文件中。在处理过程中,会对文件类型和大小进行检查,并对文件存储目录进行管理。
接收文件信息
- 通过
$_FILES
超全局变量获取上传文件的相关信息,如文件名 ($name
)、文件类型 ($type
)、临时文件名 ($tmp_name
)、错误信息 ($error
) 和文件大小 ($size
)。
检查文件类型和大小
- 使用一个允许的文件类型数组
$allowType
,检查上传文件的类型是否在允许的范围内。如果不在范围内,则返回错误信息。 - 检查上传文件的大小是否超出预设的限制,如果超出,则返回错误信息。
处理文件目录
- 使用当前日期创建一个文件夹路径
$red
,如果该路径不存在,则创建它。这个路径通常用于存储上传的文件。
移动文件
- 使用
move_uploaded_file()
函数将临时文件移动到指定的目录中。如果移动失败,则返回错误信息。
处理用户数据
- 从
$_POST
超全局变量中获取用户提交的其他数据,如用户名 ($username
)、年龄 ($age
)、性别 ($sex
) 和其他信息 ($baj
)。 - 将这些数据格式化为字符串,并追加到一个文件 (
day15.txt
) 中。如果写入成功,则返回成功信息;否则,返回失败信息。
文章评论