首页 > 技术文章 > PHP文件上传例子

NeigeBolg 2020-07-22 16:31 原文

先记录,有空再整理

<input type="file" name="" id="fileupload">

$("#fileupload").change(function(){
var formData = new FormData();
formData.append("file",$("#fileupload")[0].files[0]);
formData.append("service",'App.Passion.UploadFile');
// formData.append("token","token");

$.ajax({

url:'/admin/assets/upload_videos', /*接口域名地址*/
type:'post',
data: formData,
contentType: false,
processData: false,
success:function(res){
console.log(res);
}

// url : '/admin/assets/upload_videos',
// type : 'post',
// data : {
// id: id,
// type: 1
// },
// success : function(data) {
// // console.log(data);
// var obj = JSON.parse(data);
// if (obj.code == 1) {
// layer.msg(obj.msg, {icon: 1,time: 1000},function(){
// location.reload();
// });
// } else {
// layer.msg(obj.msg, {icon: 7,time: 1000});
// }
// },
// error : function() {
// layer.msg('服务器或网络错误', {icon: 7,time: 1000});
// }
});
});

 

public function upload_videos(Request $request){
//获取中国时区,'PRC':中华人民共和国
date_default_timezone_set('PRC');

$return = ['code'=>0, 'msg'=>'上传失败'];

//参数处理
if (!isset($_FILES['file']['type'])||!isset($_FILES['file']['name'])||!isset($_FILES['file']['tmp_name'])) {
$return['msg'] = '参数错误';
return json_encode($return);
}
$fileType = $_FILES['file']['type'];//文件类型
$filesName = $_FILES['file']['name'];//文件名数组
$filesTmpNamew = $_FILES['file']['tmp_name'];//临时文件名数组

$fileTypeArr = [
'video/avi',
'video/quicktime',
'video/mp4',
'video/3gpp'
];
if (!in_array($fileType, $fileTypeArr)) {
$return['msg'] = '暂不支持该格式的文件';
return json_encode($return);
}

$dir = date("Ymd",time());
//如果文件夹不存在,则创建一个
if(!file_exists($dir)) {
$mkdir = @mkdir(date("Ymd",time()));
if (!$mkdir) {
$return['msg'] = '目录创建失败';
return json_encode($return);
}
}

if(file_exists(date("Ymd",time()).'/'.$filesName)){
// die($filesName[$i]."文件已存在"); //如果上传的文件已经存在
$return['msg'] = '文件已存在';
return json_encode($return);
} else {
move_uploaded_file($filesTmpNamew, date("Ymd",time()).'/'.$filesName); //保存在缓冲区的是临时文件名而不是文件名
}

$json_array = array('file1'=>$filesName); //转换成数组类型

$json = json_encode($json_array); //将数组转换成json对象
return $json;
}

推荐阅读