PHP编程:PHP跨平台获取服务器IP地址自定义函数分享
发布时间:2020-12-13 02:18:25 所属栏目:PHP教程 来源:网络整理
导读:《PHP跨平台获取服务器IP地址自定义函数分享》要点: 本文介绍了PHP跨平台获取服务器IP地址自定义函数分享,希望对您有用。如果有疑问,可以联系我们。 近期必要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行
《PHP跨平台获取服务器IP地址自定义函数分享》要点: 近期必要完善一个log机制,监控来自不同服务器的机器的脚本执行状况,特针对windows和Linux及web与命令行模式书写了一个函数来兼容.PHP教程 写了如下一个function来,可以实现上面的需求:PHP教程
代码如下:
function getServerAddr() {?? ??? //运行 web app?? ??? if (isset($_SERVER["SERVER_ADDR"])) {?? ??????? return $_SERVER["SERVER_ADDR"];?? ??? } else { // Running CLI?? ??????? if (stristr(PHP_OS,'WIN')) {?? ??????????? //? 针对windows服务器所执行的一种hacky方式??? ??????????? exec("ipconfig /all",$catch);?? ??????????? foreach ($catch as $line) {?? ??????????????? $new_catch[] = iconv("gbk","utf-8",$line) . "n";?? ??????????? }?? ??????????? foreach ($new_catch as $new_line) {?? ??????????????? if (preg_match(‘/IPv4 地址/',$new_line)) { //中文体系?? ??????????????????? list($t,$ip) = explode(‘:',$new_line);?? ??????????????????? $ip = trim($ip);?? ??????????????????? preg_match(‘/((?:(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))).){3}(?:25[0-5]|2[0-4]d|((1d{2})|([1-9]?d))))/',$ip,$match);?? ??????????????????? return $match[1];?? ??????????????? }?? ??????????? }?? ??????? } else {?? ??????????? $ifconfig = shell_exec(‘/sbin/ifconfig eth0′);?? ??????????? preg_match(‘/addr:([d.]+)/',$ifconfig,$match);?? ??????????? return $match[1];?? ??????? }?? ??? }?? }?? ? $ip = getServerAddr();?? print $ip; 《PHP跨平台获取服务器IP地址自定义函数分享》是否对您有启发,欢迎查看更多与《PHP跨平台获取服务器IP地址自定义函数分享》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |