文章 内容
作者: Admin
margin-left: 82px;
margin-right: 82px;
padding-left: 8px;
padding-right: 8px;
<?php
//1.获取要上传文件的信息
$up_info=$_FILES;
$path .= "./att/image/".date('Ymd',time());
if(!file_exists($path))//文件夹不存在,先生成文件夹
{
mkdir($path);
}
$typelist=array("image/gif","image/jpeg","image/pjpeg","image/png"); //定义运行的上传文件类型
foreach($up_info as $k =>$value){ //用foreach循环 处理多个文件的上传
//2.判断文件是否上传错误
$k_name = $k;
//$k_name = 'file';
if($up_info[$k_name]['error'] > 0){
switch($up_info[$k_name]['error']){
case 1:
$err_info="上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";
break;
case 2:
$err_info="上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
break;
case 3:
$err_info="文件只有部分被上传";
break;
case 4:
$err_info="没有文件被上传";
break;
case 6:
$err_info="找不到临时文件夹";
break;
case 7:
$err_info="文件写入失败";
break;
default:
$err_info="未知的上传错误";
break;
}
exit($err_info);
}
//print_r($up_info);
//3.判断文件上传的类型是否合法
if(!in_array($up_info[$k_name]['type'],$typelist)){
exit('文件类型错误!'.$up_info[$k_name]['type']);
}
//4.上传文件的大小过滤
if($up_info[$k_name]['size'] > 3145728){ //3m
echo '文件大小超过3Mb';
continue;
}
//5.上传文件名处理
$exten_name=pathinfo($up_info[$k_name]['name'],PATHINFO_EXTENSION);
//随机生成移动后的文件名
do{
$salt ="AaBbCcDdEe_EnetApi";
$jiami =time();
$md5 = substr(md5(md5($jiami) . $salt),8,16);
$main_name=date("Hi").$md5;
//$main_name=date('YmHis'.'_'.rand(100000,999999));
$new_name=$main_name.'.'.$exten_name;
}while(file_exists($to_path.'/'.$new_name));
//6.判断是否是上传的文件,并执行上传
if(is_uploaded_file($up_info[$k_name]['tmp_name'])){
if(move_uploaded_file($up_info[$k_name]['tmp_name'],$path."/".$new_name)){
header('content-type:application/json;charset=utf8');
//上传成功后的图片相对路径 $path=路径 $main_name=名称 $exten_name = 后缀
$images = "/".$path."/".$main_name.".".$exten_name;
//echo '文件上传成功!';
}else{
echo '上传文件移动失败!';
}
}else{
echo '文件不是上传的文件';
}
} //for循环的括号
$result = array(
$code = 0,
$data = [
'url' => $images,
]
);
$result = [ //返回数据统一处理
'errno' => $code,
'data' => [
$data
]
];
echo(stripslashes(urldecode(json_encode($result,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT))));
?>
相关内容
无相关内容 |
猜你喜欢
无相关内容 |