我在网上找到的关于文件上传部分,然后记录下来,方便下次使用。

写一个公共函数用于上传文件,例如写在function.php文件中,而不是直接修改common.php文件

直接上代码,首先是函数部分:

参数部分:用户id,文件,你也可以设置文件大小和上传路径

function post_upload_one($uid,$file'){

    $file = request()->file($file);
    if (empty($file)) {
        $data['code'] = '2';
        $data['msg'] = '未选择图片';
        return $data;
    }
    $size=11548484$path='/uploads/apifile';

    $info = $file->move(env::get('root_path') .'/public'.$path.directory_separator);
    if($info) {
        // 获取附件信息
        $file_info = [
            'uid' => $uid,
            'name' => $file->getinfo('name'),
            'mime' => $file->getinfo('type'),
            'path' => str_replace('\\', '/','uploads/apifile' . directory_separator . str_replace('\\', '/', $info->getsavename()) ),
            'ext' => $info->getextension(),
            'size' => $info->getsize(),
            'md5' => $info->hash('md5'),
            'sha1' => $info->hash('sha1'),
            'module' => 'user',

        ];
        if ($file_add = attachmentmodel::create($file_info)) {
            $data['code'] = '0';
            $data['msg'] = $file_add->id;
            return $data;
        }
    }
    $data['code'] = '1';
    $data['msg'] = $file->geterror();
    return $data;
}

然后是调用我们写好的公共函数

 $data['image']=$_files;
 $cc = post_upload_one($uid,'image');