东方月 發表於 2026-5-3 17:26:37

ThinkPHP5中Request请求对象大全

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">获取当前系统参数</a></li><li><a href="#_label1">获取请求的参数</a></li><li><a href="#_label2">获取get,post参数</a></li><li><a href="#_label3">获取当前的控制器,方法</a></li><li><a href="#_label4">获取路由和调度信息</a></li></ul></div><p>可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。如果要获取当前的请求信息,可以使用\think\Request类,<br />除了下文中的</p>
<div class="jb51code"><pre class="brush:php;">$request = Request::instance();
</pre></div>
<p>也可以使用助手函数</p>
<div class="jb51code"><pre class="brush:php;">$request = request();</pre></div>
<p class="maodian"><a name="_label0"></a></p><h2>获取当前系统参数</h2>
<div class="jb51code"><pre class="brush:php;">// 获取当前域名
echo '获取当前域名:'.$request-&gt;domain() . '&lt;br/&gt;';

// 获取当前入口文件
echo '获取当前入口文件:'.$request-&gt;baseFile() . '&lt;br/&gt;';

// 获取当前URL地址,不含域名
echo '获取当前URL地址,不含域名:'.$request-&gt;url() . '&lt;br/&gt;';

// 获取包含域名的完整url地址
echo '获取包含域名的完整url地址:'.$request-&gt;url(true) . '&lt;br/&gt;';

// 获取URL地址 不含QUERY_STRING
echo '获取URL地址 不含QUERY_STRING:'.$request-&gt;baseurl() . '&lt;br/&gt;';

// 获取URL访问的ROOT地址
echo '获取URL访问的ROOT地址:'.$request-&gt;root() . '&lt;br/&gt;';

// 获取URL访问的ROOT地址
echo '获取URL访问的ROOT地址 :'.$request-&gt;root(true) . '&lt;br/&gt;';

// 获取URL地址中的 PATH_INFO 信息
echo '获取URL地址中的 PATH_INFO 信息:'.$request-&gt;pathinfo() . '&lt;br/&gt;';

// 获取URL地址中的 PATH_INFO 信息,不含后缀
echo '获取URL地址中的 PATH_INFO 信息,不含后缀:'.$request-&gt;path() . '&lt;br/&gt;';

// 获取URL地址中的后缀信息
echo '获取URL地址中的后缀信息:'.$request-&gt;ext() . '&lt;br/&gt;';</pre></div>
<p> </p>
<p class="maodian"><a name="_label1"></a></p><h2>获取请求的参数</h2>
<div class="jb51code"><pre class="brush:php;">echo '请求方法:'.$request-&gt;method() . '&lt;br/&gt;';

echo '资源类型:'.$request-&gt;type() . '&lt;br/&gt;';

echo '访问ip:'.$request-&gt;ip() . '&lt;br/&gt;';

echo '是否为ajax请求:'.var_export($request-&gt;isAjax(), true) . '&lt;br/&gt;';

echo '请求参数:';
dump($request-&gt;param());

echo '请求参数:仅包含name';
dump($request-&gt;only(['name']));

echo '请求参数:排除name';
dump($request-&gt;except(['name']));</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>获取get,post参数</h2>
<div class="jb51code"><pre class="brush:php;">echo 'GET参数:';
dump($request-&gt;get());

echo 'GET参数:name';
dump($request-&gt;get('name'));

echo 'POST参数:name';
dump($request-&gt;post('name'));

echo 'cookie参数:name';
dump($request-&gt;cookie('name'));

echo '上传文件信息:image';
dump($request-&gt;file('image'));

echo '获取参数name,无论get还是post';
echo $request-&gt;param('name');</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>获取当前的控制器,方法</h2>
<div class="jb51code"><pre class="brush:php;">echo '模块:'.$request-&gt;module();

echo '&lt;br/&gt;控制器:'.$request-&gt;controller();

echo '&lt;br/&gt;操作:'.$request-&gt;action();</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>获取路由和调度信息</h2>
<div class="jb51code"><pre class="brush:php;">echo '路由信息:';
dump($request-&gt;routeInfo());

echo '调度信息:';
dump($request-&gt;dispatch());</pre></div>
<p>&nbsp;
頁: [1]
查看完整版本: ThinkPHP5中Request请求对象大全