使用php代码登录后使用php下载文件

时间:2019-04-01 10:27:52

标签: laravel download

我有两个链接 一个用于登录(www.xxx/login/) 一个用于下载文件(www.xxx/download /)

如果已经登录,则链接到www.xxx/download/将自动下载文件, 如果不是,该页面将重定向到www.xxx/login /

那我怎么写php代码呢?先登录然后下载文件

2 个答案:

答案 0 :(得分:0)

如果您正在使用Laravel提供的登录功能,则默认为Laravel提供。

您可以在这里查看

Illuminate\Foundation\Auth\AuthenticatesUsers

这是trait和检查功能sendLoginResponse。以下是用sendLoginResponse函数编写的代码:-

/**
 * Send the response after the user was authenticated.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
protected function sendLoginResponse(Request $request)
{
    $request->session()->regenerate();

    $this->clearLoginAttempts($request);

    return $this->authenticated($request, $this->guard()->user())
            ?: redirect()->intended($this->redirectPath());
}

如果您正在使用自定义登录功能,请遵循此操作。

答案 1 :(得分:0)

您只需要中间件

因此在控制器顶部添加_construct方法

public function __construct()
    {
        $this->middleware('auth');
    }

    public function dowloadMethod($fileName)
        {
//your code    
        }

如果您在路由中使用Closure方法

Route::get('YourdowloadUrl/{fileName}',function($fileName)
{
//yourcode goesrhere
}
)->middleware(['web', 'auth']);