php: laravel 上传方法

 自用于 laravel8

    static function upload(Request $request,$key,$extension_arr=array(),$path='',$size=2097152) {
        $file = $request->file($key);
        if($file === null) return ['status' => -1,'msg' => '没获取到文件'];
        $extension = $file->extension();
        if($extension_arr) if(!in_array($extension,$extension_arr))  return ['status' => -1,'msg' => '文件类型不正确'];
        $fileSize = $file->getSize();
        if($fileSize > $size) return ['status' => -1,'msg' => '文件不能超过2M'];
        $dir = date('Ymd');
        $path = $path ?: 'upload';
        $save_dir = '../storage/app/public/'.$path.'/'.$dir;
        if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)) return ['status' => -1,'msg' => '生成路径失败'];
        $res = $file->store('public/'.$path.'/'.$dir);
        if(!$res) return ['status' => -1,'msg' => '未知错误'];
        return ['status' => 1,'msg' => '成功','data'=>str_replace('public/','',$res)];
        //  外部访问要建立软连接 命令
        //  php artisan storage:link
        //  "/public/storage" = "/storage/app/public"
    }
php artisan storage:link

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值