如何在Laravel中的另一个公共函数中使用一个公共函数的变量?

时间:2014-11-16 15:41:44

标签: laravel

这是UsersController中的第一个功能: 我想在另一个函数中使用此函数的$filename

    public function user(){
        $file = Input::file('image');

        $destinationPath = 'public/uploads/';
        $filename = $file -> getClientOriginalName();

        $url = $_SERVER['REQUEST_URI'];
        $from = explode('/', $url);

        DB::table('files')->insert(array(
            'filename'=> $filename,
            'file_from'=> $from[1],
            'created_at'=> date('Y-m-d H:m')
        ));

        Input::file('image')->move($destinationPath, $filename);

        return Redirect::to('/user');
    }

我想在这里使用$filename。在from()函数中:

    public function from(){
        DB::table('from_operator')->insert(array(
            'filename' => $global_filename,
            'category' => Input::get('category'),
            'sign' => Input::get('sign')
        ));
    }
}

我如何在这里使用它?

1 个答案:

答案 0 :(得分:0)

Pastebin example我可以看到您已尝试使用会话。这绝对是将数据保存在多个请求上的方法(不以持久的方式存储)

存储文件名

Session::put('filename', $filename);

检索文件名

$filename = Session::get('filename');

从会话中删除文件名

Session::forget('filename');

或者,您可以 flash 文件名。这意味着它只会在下一个请求的会话中,之后会自动删除。如果您确定from()将始终是user()后的下一个请求,则此功能非常有用。

Session::flash('filename', $filename);

$filename = Session::get('filename');