
一个项目中可能会用到多次上传功能,每一次都写一遍上传功能,就算是复制粘贴也很麻烦,博主非常不提倡这种低效率的做法。本文将laravel中文件上传功能封装成公共函数,提高代码的重用性,可读性。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
function uploadpic( $filename, $filepath,$request) { //1.首先检查文件是否存在 if ($request->hasFile($filename)){ // 2.获取文件 $file = $request->file($filename); //3.其次检查图片手否合法 if ($file->isValid()){ //先得到文件后缀,然后将后缀转换成小写,然后看是否在否和图片的数组内 $extension = strtolower($file->extension()); if(in_array($extension,['jpeg','jpg','gif','gpeg','png'])){ //4.将文件取一个新的名字 $newName='feng'.time().rand(100000, 999999).$file->getClientOriginalName(); //5.移动文件,并修改名字 if($file->move($filepath,$newName)) { $data = ['msg'=>$newName,'extension'=>$extension,'code'=>'5']; return $data; }else{ $data = ['msg'=>'移动失败','code'=>'4']; return $data; } }else{ $data = ['msg'=>'不支持该后缀文件','code'=>'3']; return $data; } }else{ $data = ['msg'=>'图片上传出错','code'=>'2']; return $data; } }else{ $data = ['msg'=>'图片不存在','code'=>'1']; return $data; } 一点博客,每天一点技术分享。 |
2018年7月26日 上午9:50 沙发
收藏了,用到的时候翻来看
2018年7月26日 上午9:53 1层
@素材火
有用就好。