<?php
$types = $_GET['types'];
switch ($types) {
case '1': //身份证图片
$imgurl2 = uploadfile_user('userheadimg');
//$imgurl2 = uploadfile_user2('userheadimg');
break;
case '2': //工牌/名片2
$imgurl2 = uploadfile_user('manager_proof');
break;
case '3': //营业执照
$imgurl2 = uploadfile_user('agent_business');
break;
default:
//返回
$result = [
'status'=>'error',
'code'=>-400,
'message'=>'操作失败',
'data'=>[
'url'=>'',
'tmp'=>''
],
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
break;
}
/**
* 多图片上传-1
* @param string $file_url [文件夹]
*/
function uploadfile_user($file_url){
//设置允许上传文件后缀
$agreetype = ['jpg','png','jpeg'];
$file = $_FILES["file"];
$count = count($file['name']); //计算条数
for ($i = 0; $i < $count; $i++) {
//获取文件名称
$filename = $file["name"][$i];
//获取文件类型
$filetype = explode(".",$filename);
$type = $filetype[1];
//获取文件大小
$filesize = $file["size"][$i];
//获取临时文件
$tempfile = $file["tmp_name"][$i];
//重组文件名称
$newsname = time().rand(10,1000).$i.'.'.$type;
//设置上传路径
$basepath = str_replace( '\\' , '/',dirname(dirname(__FILE__)));
$time = date('Ymd',time());
$savePath = $basepath.'/uploadfile/'.$file_url.'/'.$time.'/';
$savePath2 = APP_PATH.'uploadfile/'.$file_url.'/'.$time.'/';
$tmp = 'uploadfile/'.$file_url.'/'.$time.'/';
//判断有没有这个文件夹名,然后创建文件夹
MkFolder($savePath);
//组装文件网络路径
$imgurl=$savePath.$newsname;
$imgurl2=$savePath2.$newsname;
$tmp = $tmp.$newsname;
//允许文件类型判断
$typecount = count($agreetype);
for ($j = 0; $j < $typecount; $j++){
if ($type == $agreetype[$j]){
$temptype = $agreetype[$j];
}
}
if (empty($temptype)){
//不允许上传文件的处理方法
//echo '不允许上传文件的处理方法';
//exit;
$result = [
'status'=>'error',
'code'=>-1,
'message'=>'不允许上传文件的处理方法',
'data'=>[
'url'=>'',
'tmp'=>''
],
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
//存储文件
if(!copy($tempfile, $imgurl)){
//文件上传失败的处理方法
//echo $filename.'上传失败';
$result = [
'status'=>'error',
'code'=>-2,
'message'=>'上传失败',
'data'=>[
'url'=>'',
'tmp'=>''
],
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
$data[$i]['url'] = $imgurl2;
$data[$i]['tmp'] = $tmp;
};
//返回
$result = [
'status'=>'success',
'code'=>200,
'message'=>'上传成功',
'data'=>$data,
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
/**
* 多图片上传-2
* @param string $file_url [文件夹]
*/
function uploadfile_user2($file_url){
//设置允许上传文件后缀
$agreetype = ['jpg','png','jpeg'];
$file = $_FILES;
$file = array_values($file); //把数组的键转换成索引从0开始
$count = count($file); //计算条数
for ($i = 0; $i < $count; $i++) {
//获取文件名称
$filename = $file[$i]["name"];
//获取文件类型
$filetype = explode(".",$filename);
$type = $filetype[1];
//获取文件大小
$filesize = $file[$i]["size"];
//获取临时文件
$tempfile = $file[$i]["tmp_name"];
//重组文件名称
$newsname = time().rand(10,1000).$i.'.'.$type;
//设置上传路径
$basepath = str_replace( '\\' , '/',dirname(dirname(__FILE__)));
$time = date('Ymd',time());
$savePath = $basepath.'/uploadfile/'.$file_url.'/'.$time.'/';
$savePath2 = APP_PATH.'uploadfile/'.$file_url.'/'.$time.'/';
$tmp = 'uploadfile/'.$file_url.'/'.$time.'/';
//判断有没有这个文件夹名,然后创建文件夹
MkFolder($savePath);
//组装文件网络路径
$imgurl=$savePath.$newsname;
$imgurl2=$savePath2.$newsname;
$tmp = $tmp.$newsname;
//允许文件类型判断
$typecount = count($agreetype);
for ($j = 0; $j < $typecount; $j++){
if ($type == $agreetype[$j]){
$temptype = $agreetype[$j];
}
}
if (empty($temptype)){
//不允许上传文件的处理方法
//echo '不允许上传文件的处理方法';
//exit;
$result = [
'status'=>'error',
'code'=>-1,
'message'=>'不允许上传文件的处理方法',
'data'=>[
'url'=>'',
'tmp'=>''
],
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
//存储文件
if(!copy($tempfile, $imgurl)){
//文件上传失败的处理方法
//echo $filename.'上传失败';
$result = [
'status'=>'error',
'code'=>-2,
'message'=>'上传失败',
'data'=>[
'url'=>'',
'tmp'=>''
],
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
$data[$i]['url'] = $imgurl2;
$data[$i]['tmp'] = $tmp;
};
//返回
$result = [
'status'=>'success',
'code'=>200,
'message'=>'上传成功',
'data'=>$data,
];
$result = json_encode($result , JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
exit($result);
}
/**
* 创建文件夹
* PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)
* @param string $path [请求文件路径]
*/
function MkFolder($path){
if(!is_readable($path)){
MkFolder( dirname($path) );
if(!is_file($path)) mkdir($path,0777);
}
}
// 最后返回的格式
/*
{
"status": "success",
"code": 200,
"message": "上传成功",
"data": [{
"url": "http:\/\/localhost\/ceshi\/uploadfile\/userheadimg\/20190312\/15523709923520.png",
"tmp": "uploadfile\/userheadimg\/20190312\/15523709923520.png"
}, {
"url": "http:\/\/localhost\/ceshi\/uploadfile\/userheadimg\/20190312\/15523709928351.png",
"tmp": "uploadfile\/userheadimg\/20190312\/15523709928351.png"
}]
}
*/
?>
评论1