获取客户端IP Symfony3

时间:2016-12-09 06:20:02

标签: symfony

如何在表单生成器symfony中获取客户端IP地址?

我有班级CompanyType.php(AppBundle / Form / CompanyType.php)

Foo<float>

我想获取某人正在使用的当前客户端IP地址并将其放在数据参数上。我该怎么做?

2 个答案:

答案 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