1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace App\Service;
- use Illuminate\Support\Facades\Storage;
- class FileUploadService extends Service
- {
- //文件类型
- const FILE_TYPE = [
- 'txt',
- 'jpg',
- 'png',
- 'gif',
- 'jpeg',
- 'zip',
- 'rar'
- ];
- public function uploadFile($file){
- $file_name = [];
- if(is_array($file)){
- foreach ($file as $value){
- $file_name[] = $this->saveFile($value);
- }
- }else{
- $file_name[] = $this->saveFile($file);
- }
- return [true, $file_name];
- }
- public function saveFile($file){
- // 获取文件相关信息
- $ext = $file->getClientOriginalExtension(); // 扩展名
- $realPath = $file->getRealPath(); //临时文件的绝对路径
- $ext = strtolower($ext);
- if (! in_array($ext, self::FILE_TYPE)){
- $str = '文件格式为:';
- foreach (self::FILE_TYPE as $value){
- $str.= $value . ' ' ;
- }
- return [false,$str];
- }
- // 上传文件
- $file_name = date("Ymd").time().rand(1000,9999);
- $filename = $file_name.'.' . $ext;
- // 使用我们新建的uploads本地存储空间(目录)
- Storage::disk('public')->put('upload_files/'.$filename, file_get_contents($realPath));
- return '/api/uploadFiles/'.$file_name;
- }
- }
|