thinkphp5.0文件上传类封装

   //单文件上传类
    public function upload() {
        $file = $this->request->file('file');
        $info = $file->validate(['size'=>5242880,'ext'=>'jpg,png,gif,jpeg','type'=>'image/jpeg,image/png,image/gif'])->move(request()->server("DOCUMENT_ROOT").'/' . 'uploads');
        if ($info) {
            $picPath = 'uploads/' . str_replace('\\', '/', $info->getSaveName());
            if (!$picPath) {
                $result = [
                    'code' => 400,
                    'msg' => '上传失败'
                ];
                return json($result);
            }
            $result = [
                'code' => 100,
                'msg'  => '上传成功
                
                ',
                'data' => [
                    'src'   => '/uploads/' . str_replace('\\', '/', $info->getSaveName()),
                    'title' => ''
                ]
            ];
        } else {
            $result = [
                'code' => 400,
                'msg'  => $file->getError()
            ];
        }
        return json($result);
    }
    //多文件上传类
    function uploadPhoto() {
    $files  = request()->file('photo');
    $result = [];
    foreach ($files as $file) {
        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
        if ($info) {
            $result[] = [
                'code' => 0,
                'msg'  => '上传成功',
                'data' => [
                    'filename' => '/uploads/' . str_replace('\\', '/', $info->getSaveName()),
                    'title'    => ''
                ]
            ];
        } else {
            $result[] = [
                'code' => -1,
                'msg'  => $file->getError()
            ];
        }
    }

    return json($result);
}

你可能感兴趣的:(php)