如何在表单生成器symfony中获取客户端IP地址?
我有班级CompanyType.php(AppBundle / Form / CompanyType.php)
Foo<float>
我想获取某人正在使用的当前客户端IP地址并将其放在数据参数上。我该怎么做?
答案 0 :(得分:2)
控制器中的正确方法是:
use Symfony\Component\HttpFoundation\Request;
....
public function myMethodAction(Request $request)
{
$ip = $request->getClientIp();
.....
}
答案 1 :(得分:1)
我相信这应该有效:
$ip = $this->request->getClientIp();
if($ip == 'unknown'){
$ip = $_SERVER['REMOTE_ADDR'];
}
getClientIp()
函数查找X-Forwarded-For
标头,该标头可能未设置。如果没有,那么您可以从$_SERVER
变量中获取IP地址,就像在任何其他PHP页面中一样。
http://api.symfony.com/master/Symfony/Component/HttpFoundation/Request.html#method_getClientIp