文件保存规则内闭包定义规则不能使用外部变量

浏览:1022 发布日期:2016/12/04
5.0.0 - 普通 - 已处理
文件保存规则内闭包定义规则不能使用外部变量,提示:未定义变量: request,像$request->controller()、控制器方法内的变量也不能传入$file->rule(),想问一下这个是PHP的闭包问题还是TP5内置问题呢?// 文件上传提交
    public function upload(Request $request) {
        // 获取表单上传文件
        $file = $request->file('file');
        if (empty($file)) {
            $this->error('请选择上传文件', null, '', 20);
        }
        // 移动到框架应用根目录/public/uploads/ 目录下
        $info = $file->rule(function () {
                    // 使用自定义的文件保存规则
                    return $request->controller() . '/' . date('Ymd') . '/' . uniqid() . '_!!' . date('Ymd');
                })->move(ROOT_PATH . 'public' . DS . 'uploads' . DS);
        if ($info) {
            return $info->getSaveName();
        } else {
            // 上传失败获取错误信息
            $this->error($file->getError());
        }
    }
评论(
后面还有条评论,点击查看>>