导航:首页 > 编程语言 > php中的getenv

php中的getenv

发布时间:2023-10-03 23:25:37

php 怎么通过ip来获取所在位置

可以使用第三方接口 比如网络地图 它可以通过ip来定位用户的经纬度坐标 有了坐标就可以直接定位用户所在城市和具体位置

❷ php到底怎么获取IP地址,为什么三种方法获取的IP都不一样

php获取真实IP地址,参考方法如下:

functionGetIP(){
if(getenv("HTTP_CLIENT_IP")&&strcasecmp(getenv("HTTP_CLIENT_IP"),"unknown"))
$ip=getenv("HTTP_CLIENT_IP");
elseif(getenv("HTTP_X_FORWARDED_FOR")&&strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),"unknown"))
$ip=getenv("HTTP_X_FORWARDED_FOR");
elseif(getenv("REMOTE_ADDR")&&strcasecmp(getenv("REMOTE_ADDR"),"unknown"))
$ip=getenv("REMOTE_ADDR");
elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],"unknown"))
$ip=$_SERVER['REMOTE_ADDR'];
else
$ip="unknown";
return($ip);
}

❸ 如何使用php获取本机IP地址

function ip() {
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$ip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$ip = $_SERVER['REMOTE_ADDR'];
}
return preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
}
以上函数取自phpcms的获取ip方法

❹ php 获取客户端的电脑名称

PHP在局域网中获取客户端计算机名、IP地址
<?

//php获取ip的算法

if(getenv('HTTP_CLIENT_IP')) {

$onlineip = getenv('HTTP_CLIENT_IP');

} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$onlineip = getenv('HTTP_X_FORWARDED_FOR');

} elseif(getenv('REMOTE_ADDR')) {

$onlineip = getenv('REMOTE_ADDR');

} else {

$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

}

exec ("ping $onlineip");

$macaddress=exec ("arp -a | find /i".' "'.$onlineip.'"');

$computername=exec ('nbtstat -A'.' '.$onlineip.' | find /i "20"');

$MacName=(preg_split("/\s+/", trim($macaddress)));

$UserName=(preg_split("/\s+/", trim($computername)));

echo "计算机名:".$UserName[0]." --- "."IP 地址:".$MacName[0]." --- "."MAC 地址:".$MacName[1];

?>

class GetMacAddr

{

var $return_array = array(); // 返回带有MAC地址的字串数组

var $mac_addr=array();

function GetMacAddr()

{

switch (strtolower(PHP_OS) )

{

case "linux":$this->forLinux();break;

case "solaris":break;

case "unix":break;

case "aix":break;

default:$this->forWindows();break;

}

//www.51qgj.com

$temp_array = array();

foreach ( $this->return_array as $value )

{

if ( preg_match( "/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array ) )

{

$this->mac_addr[] = $temp_array[0];

}

}

unset($temp_array);

return $this->mac_addr;

}

function forWindows()

{

@exec("ipconfig /all", $this->return_array);

if ( $this->return_array )

return $this->return_array;

else{

$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";

if ( is_file($ipconfig) )

@exec($ipconfig." /all", $this->return_array);

else

@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);

return $this->return_array;

}

}

function forLinux()

{

@exec("ifconfig -a", $this->return_array);

return $this->return_array;

}

}

$mac = new GetMacAddr();

echo "<pre>";

print_r( $mac->mac_addr);

?>
mac测试过 可能无效

阅读全文

与php中的getenv相关的资料

热点内容
海康威视sip服务器地址 浏览:163
挖掘机程序员哪个好 浏览:458
方舟怎么进上一次进的服务器 浏览:635
pdf怎样剪切 浏览:906
git编译所有文件命令 浏览:694
伪军pdf 浏览:418
如何判断基本命令 浏览:972
pdf批量删除 浏览:943
广播android静态动态区别 浏览:390
centos7设置为命令行启动 浏览:570
程序员资质资格证 浏览:217
常见编码加密 浏览:236
阿狸免费云服务器 浏览:764
快速配置服务器bmc地址 浏览:968
机械手臂编程自动化 浏览:501
怎么看银行app的银行卡号 浏览:84
pdf文件改ppt 浏览:196
ecs对比云服务器 浏览:852
必剪app怎么没有美颜 浏览:176
唯库的视频怎么下载app 浏览:465