The most reliable way to get client IP in PHP is with $_SERVER['REMOTE_ADDR']:

$ipaddress = $_SERVER['REMOTE_ADDR'];
echo "Your IP address is: ".htmlspecialchars($ipaddress);

Your IP address is: 54.198.27.243

REMOTE_ADDR is an environment variable provided by the web server and cannot be modified.

Advertisement

You should not use $_SERVER['HTTP_X_FORWARDED_FOR'] because it can be modified\spoofed!

You can get the IP hostname with gethostbyaddr(), example:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo "Your hostname is: ".htmlspecialchars($hostname);

Your hostname is: ec2-54-198-27-243.compute-1.amazonaws.com