laravel框架上传文件到七牛云

模型代码

 public function uploadFile()
    {
        // 判断是否有文件上传
        if (request()->hasFile('img')) {
            // 获取文件,file对应的是前端表单上传input的name
            $file = request()->file('img');
            // Laravel5.3中多了一个写法
            // $file = $request->file;

            // 初始化
            $disk = QiniuStorage::disk('qiniu');
            // 重命名文件
            $fileName = md5($file->getClientOriginalName().time().rand()).'.'.$file->getClientOriginalExtension();

            // 上传到七牛
            $bool = $disk->put('iwanli/image_'.$fileName,file_get_contents($file->getRealPath()));
            // 判断是否上传成功
            if ($bool) {
                $path = $disk->downloadUrl('iwanli/image_'.$fileName);
                echo '上传成功'.$path;
            }else{
                echo '上传失败';
            }

        }else{
            echo '没有文件';
        }

视图页面

form method="post" action="{{url('upload')}}" enctype="multipart/form-data">
    {{csrf_field()}}
    <input type="file" name="img">
    <button type="submit">上传图片</button>
</form>

将文件App\config\app.php

在数组prividers中添加
itbdw\QiniuStorage\QiniuFilesystemServiceProvider::class,

将文件App\config\filesystems.php

向disks数组中添加一个数组
 'qiniu' => [
            'driver'    => 'qiniu',
            'domain'    => 'xxxxx.bkt.clouddn.com',  //你的七牛域名
            'access_key'=> '',    //AccessKey  askey
            'secret_key'=> '',   //SecretKey   skkey
            'bucket'    => '1803a',    //Bucket名字
        ],

如果上传较大的文件需要修改php.ini 中的

最大限制100M

post_max_size = 100M

以及
upload_max_filesize = 100M

 修改php study中的扩展文件中的参数值设置

这里是修改上传时间,因为正常上传文件超过30秒会失败,这里调整大小为防止文件过大

max_execution_time 中的数值 
以及
max_input_time 中的值

猜你喜欢

转载自blog.csdn.net/weixin_43524620/article/details/83688086