79

有没有一种 Laravel 方法来获取请求的当前路径及其查询参数?

例如,对于 URL:

http://www.example.com/one/two?key=value

Request::getPathInfo()会回来/one/two的。

Request::url()会回来http://www.example.com/one/two的。

所需的输出是/one/two?key=value

4

9 回答 9

95

尝试使用以下内容:

\Request::getRequestUri()
于 2016-09-20T09:49:58.987 回答
60

拉拉维尔 4.5

只需使用

Request::fullUrl()

它将返回完整的网址

您可以使用 str_replace 提取查询字符串

str_replace(Request::url(), '', Request::fullUrl())

或者你可以得到所有查询的数组

Request::query()

拉拉维尔>5.1

只需使用

$request->fullUrl()

它将返回完整的网址

您可以使用 str_replace 提取查询字符串

str_replace($request->url(), '',$request->fullUrl())

或者你可以得到所有查询的数组

$request->query()
于 2016-02-01T12:41:32.907 回答
39

请求类不提供可以准确返回您需要的方法。但是您可以通过连接其他 2 种方法的结果轻松获得它:

echo (Request::getPathInfo() . (Request::getQueryString() ? ('?' . Request::getQueryString()) : '');
于 2015-07-22T07:58:33.990 回答
8

获取包含查询字符串的当前 URL。

echo url()->full();
于 2019-03-03T19:07:11.930 回答
3

$request->fullUrl()如果您正在注射Illumitate\Http\Request.

于 2016-03-16T20:23:58.027 回答
2

如果您有权访问该Request $request对象,您还可以使用非静态方法

$request->getRequestUri()
于 2021-05-18T12:36:21.347 回答
0
public functin func_name(Request $request){$reqOutput = $request->getRequestUri();}
于 2016-12-06T05:34:56.993 回答
0

从 URL 字符串 http://cube.wisercapital.com/hf/create?flag=1中获取标志参数

public function create(Request $request)
{
$flag = $request->input('flag');
return view('hf.create', compact('page_title', 'page_description', 'flag'));
}
于 2016-07-07T14:39:48.223 回答
-1

我发现的最简单的是这个:

$request->getPathInfo()
于 2022-01-20T12:07:48.417 回答