≡ Menu

PHP: HowTo Read an IP Address of Remote Computer / Browser

How do I read an IP address of remove system or browser using PHP server side programming language? How can I get client IP address and store it to the variable called $ip using php+apache?

PHP has in built facility to detect remote browser, IP address, and other properties. These values are assigned to special variable. In this case, it is assigned to a variable called REMOTE_ADDR. You can use any one of the following statement to obtained or read IP address.

PHP syntax to find out an IP address

The syntax is:







$ip = getenv('HTTP_CLIENT_IP');

PHP syntax to find out remote host name

The syntax is:

$hostname = gethostbyaddr($ip);


$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);


Create a file called client-ip.php and store or upload at your Web-server DocumentRoot (e.g. /var/www/html/client-ip.php):

// client-ip.php : Demo script by nixCraft <www.cyberciti.biz>
// get an IP address
// display it back
echo "<h2>Client IP Demo</h2>";
echo "Your IP address : " . $ip;
echo "<br>Your hostname : ". gethostbyaddr($ip) ;

Save and close the file. Open a web-browser and type your url:
Sample outputs:

Fig.01 client-ip.php output

Fig.01 client-ip.php output

{ 26 comments… add one }

  • soroccoheaven October 2, 2007, 3:49 pm


    I am trying to figure out the “spam” word enabled form submission like this one …anyone here can help me ..


  • Dmitri Zhuchkov November 28, 2007, 3:30 pm

    echo “ Your hostname : ” . GetHostByName($ip);

    You can get the host name from IP.gethostbyname

    gethostbyname – Get the IP address corresponding to a given Internet host name

    Try the gethostbyaddr for this task.

  • Rajesh January 2, 2008, 1:23 pm

    How to get the remote IP location?

  • Timmehx January 4, 2008, 5:42 pm

    $ip = $_SERVER[‘REMOTE_ADDR’];

    And if you want to echo it use

    that is what i use

  • Nilesh January 6, 2008, 2:09 am

    hey! this is a child’s play! such an easy thing! i said that coz i am 15 and a hard core PHP developer!!

    • Nathan August 25, 2013, 2:12 am

      I’m sure you are, but not everyone is.

  • Ben December 11, 2008, 3:40 pm

    I don’t understand something. 5 of my friends using different HOSTS in different CITIES used a script that logged each user’s IP address and time in a database and all their IP was exactly the same as mine. I used $_SERVER[‘REMOTE_ADDR’]

    • Joshua April 22, 2011, 10:12 pm

      Hey ben, all of your IP’s are the same since all of you are using the same ISP or the same main ISP:


      So the website actually detects your main_isp IP address since none of you have a dedicated IP address on the internet.

  • Geert March 22, 2009, 1:38 pm

    They are all behind the same proxy-server. In that case $_SERVER[‘REMOTE_ADDR’] provides you with the ip-address of the proxy-server.

    This function will determine the real ip-adress:

    function ipCheck() {
    		if (getenv('HTTP_CLIENT_IP')) {
    			$ip = getenv('HTTP_CLIENT_IP');
    		elseif (getenv('HTTP_X_FORWARDED_FOR')) {
    			$ip = getenv('HTTP_X_FORWARDED_FOR');
    		elseif (getenv('HTTP_X_FORWARDED')) {
    			$ip = getenv('HTTP_X_FORWARDED');
    		elseif (getenv('HTTP_FORWARDED_FOR')) {
    			$ip = getenv('HTTP_FORWARDED_FOR');
    		elseif (getenv('HTTP_FORWARDED')) {
    			$ip = getenv('HTTP_FORWARDED');
    		else {
    			$ip = $_SERVER['REMOTE_ADDR'];
    		return $ip;
    • Sarmad Mahar June 17, 2010, 4:47 am

      it do not work if client computer is using ISA Server.

      but code is working fine if client is connected with DSL , or modem direct internet connection.

      can any one provide how do I resolved issue on intranet application/ Client is using ISA

  • leni June 10, 2009, 5:47 pm

    how can i get the ip address of the client requesting a particular url?
    if possible give me a php code for the same..

  • Young Bobby October 22, 2009, 3:21 pm


    Thanks it’s working fine !

  • chuman September 24, 2010, 6:53 pm

    supose am chatting with my friend using gtalk how would i get his ip address. [what command do i got to use in DOS]. what i got his ip what command [DOS} do i use to get his host name.
    One more thing to what command to view that a specified computer is online or not.

  • DarkCoder November 29, 2010, 3:10 pm

    Seems not to work for ‘localhost’ but works well with other IPs in the system

  • Marko April 12, 2011, 9:01 am

    Why do you have 2 x same conditions in this script ?

    elseif (getenv(‘HTTP_X_FORWARDED_FOR’)) {
    $ip = getenv(‘HTTP_X_FORWARDED_FOR’); x 2

    elseif (getenv(‘HTTP_FORWARDED’)) {
    $ip = getenv(‘HTTP_FORWARDED’); x 2

    • Joshua April 22, 2011, 10:49 pm

      they arent 2 same conditions in the script marco, if you check back you will notice all the conditions have a slight difference

  • Magson Fernandes July 15, 2011, 11:18 pm

    Can any post a simple ip detection script or code. i need it please.

  • MoCua.Com August 6, 2011, 8:46 pm

    thanks and thanks

  • CodeSlayer September 1, 2011, 12:18 am

    Simple working excellent

    $ip = $_SERVER['REMOTE_ADDR'];
    $hostaddress = gethostbyaddr($ip);
    $browser = $_SERVER['HTTP_USER_AGENT'];
    $referred = $_SERVER['HTTP_REFERER']; // a quirky spelling mistake that stuck in php
    print "Display IP address:";
    print "$ip";
    print "More detailed host address:";
    print "$hostaddress";
    print "Display browser info:";
    print "$browser";
    print "Where you came from (if you clicked on a link to get here:";
    if ($referred == "") {
    print "Page was directly requested";
    else {
    print "$referred";
  • anand September 14, 2011, 5:22 am

    how to get ip with computer name in php

  • developer rashtra September 23, 2011, 7:28 am

    thanks for the code. Looking for php code to get computer name of a visitor.

  • lineesh January 20, 2012, 6:43 am

    thanks vivek

  • ram January 30, 2012, 4:33 pm

    how to send messages or popups to remote ip address

  • Jansha December 5, 2013, 7:15 am

    Very useful. Thanks for sharing

  • Zane April 17, 2014, 3:31 pm

    Great article, thank you it’s really useful for me because i want to track how many users logged into my website daily.

  • dhananjay October 20, 2014, 9:21 am

    anyone tell me how to detect the mysql ip address of remote database..

Leave a Comment

   Tagged with: , ,