Thinkphp处理Android(okHttp)单文件上传:
public function upload(){
// 获取上传文件表单字段名
$fileKey = array_keys(request()->file());
// 获取表单上传文件
$file = request()->file($fileKey['0']);
// 移动到框架应用根目录/public/uploads/ 目录下
$info = $file->validate(['size' =>2097152,'ext' => 'jpg,png,jpeg'])->move('app/avatar');
if($info){
$result['code'] = 1;
$path=str_replace('\\','/',$info->getSaveName());
$result['url'] = '/app/avatar/'. $path;
return show(1, 'OK', $result, 200);
}else{
// 上传失败获取错误信息
$result['code'] =0;
$result['info'] = $file->getError();
$result['url'] = '';
return show(0, 'error', $result, 200);
}
}
Thinkphp处理Android(okHttp)多文件上传:
public function upload_servers(){
$files = request()->file('file');
foreach($files as $file){
$info = $file->validate(['size' =>104857600])->move('app/files');
if($info){
$path=str_replace('\\','/',$info->getSaveName());
$result['url'][] = '/app/files/'. $path;
} else{
$result['error'][] = $file->getError();
}
}
if(count($result['url'])>0){
$result['code'] = 1;
$result['info'] = '上传成功!';
return $result;
}else{
$result['code'] =0;
$result['info'] = '上传失败!';
return $result;
}
}
php处理Android(okHttp)多文件上传(php通用):
public function andrios(){
header('Content-type: application/json;charset=utf-8');
if(empty($_FILES)) {
$arr['code'] = 0;
$arr['msg'] = '错误提交';
return $arr;
}
$filename = date("Ymd")."/";
$dirPath = './app/files/'.$filename;//设置文件保存的目录
$dirPaths = '/app/files/'.$filename;
if(!is_dir($dirPath)){
//目录不存在则创建目录
@mkdir($dirPath);
}
$count = count($_FILES);//所有文件数
if($count<1) {
$arr['code'] = 0;
$arr['msg'] = '没有提交的文件';
return $arr
}
$success = $failure = 0;
$url=[];
foreach($_FILES as $key => $value){
//循环遍历数据
$tmp = $value['name'];//获取上传文件名
$tmpName = $value['tmp_name'];//临时文件路径
//上传的文件会被保存到php临时目录,调用函数将文件复制到指定目录
if(move_uploaded_file($tmpName,$dirPath.date('YmdHis').'_'.$tmp)){
$url[]= $dirPaths.date('YmdHis').'_'.$tmp;
}else{
$failure++;//失败数量
}
}
$arr['code'] = 1;
$arr['msg'] = '提交成功';
$arr['url'] = $url;
$arr['failure'] = $failure;
return $arr;
}