Home  >  Article  >  Backend Development  >  PHP method to obtain the real IP address of the machine and example code

PHP method to obtain the real IP address of the machine and example code

墨辰丷
墨辰丷Original
2018-06-04 10:55:022300browse

This article mainly introduces the example code of php to obtain the real IP address of the machine. It has certain reference value. Interested friends can refer to it.

The main purpose is to obtain the operating system for win2000. /xp, win7’s real IP address, and obtain the real IP address of the machine whose operating system is Linux type. The specific content is as follows

function getLocalIP() {
 $preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";
//获取操作系统为win2000/xp、win7的本机IP真实地址
 exec("ipconfig", $out, $stats);
 if (!empty($out)) {
  foreach ($out AS $row) {
   if (strstr($row, "IP") && strstr($row, ":") && !strstr($row, "IPv6")) {
    $tmpIp = explode(":", $row);
    if (preg_match($preg, trim($tmpIp[1]))) {
     return trim($tmpIp[1]);
    }
   }
  }
 }
//获取操作系统为linux类型的本机IP真实地址
 exec("ifconfig", $out, $stats);
 if (!empty($out)) {
  if (isset($out[1]) && strstr($out[1], 'addr:')) {
   $tmpArray = explode(":", $out[1]);
   $tmpIp = explode(" ", $tmpArray[1]);
   if (preg_match($preg, trim($tmpIp[0]))) {
    return trim($tmpIp[0]);
   }
  }
 }
 return '127.0.0.1';
}

Summary: The above is the entire content of this article, I hope it can be helpful to everyone learning helps.

Related recommendations:

phpDetailed explanation of the configuration method of using pdo to connect to sqlite3

phpImplementing the method of determining the format through the file header

phpUsage and example analysis of time function


The above is the detailed content of PHP method to obtain the real IP address of the machine and example code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn