您的位置:首页 > 编程语言 > PHP开发

php获取本机的局域网(内网)IP地址的代码与函数说明

2014-09-01 19:00 423 查看
php获取本机的局域网(内网)IP地址的代码与函数说明

为大家介绍php获取本机所在局域网,也就是内网IP地址的一段代码,并对其中用到的函数,进行了详细解释。供大家学习参考。

代码如下:

view sourceprint?01 <?php

02 /**

03 * 获取本机的局域网<A class=infotextkey href="http://www.jbxue.com/tags/IPdizhichangshi.html" target=_blank>IP地址</A>

04 * www.jbxue.com

05 */

06 function get_local_ip(){

07 exec("ipconfig /all",$arr); //运行这句需要修改php.ini文件并重启<A class=infotextkey href="http://www.jbxue.com/server/apache/" target=_blank>apache</A>

08 if (is_array($arr)){

09 foreach($arr AS $val)

10 {

11 //echo $val."";

12 if(eregi("IP Address",$val))

13 $pip = substr($val, strpos($val, ":") + 1);

14 if (preg_match ("/192.168.1./", $pip)) //你可以根据需要修改这里的<A class=infotextkey href="http://www.jbxue.com/wb/regular/" target=_blank>正则表达式</A>

15 return $pip;

16 }}}

17 ?>

对以上代码中用到的函数的解释。

Exec:

1.找到php.ini 然后搜索exec,发现disable-_function=exec,system,ini_alter…. 去掉exec

2.执行外部程序

3.string exec ( string $command [, array &$output [, int &$return_var ]] )

①$command:将要执行的语句;

②$output:如果输出参数存在,那这个数组将包含命令的所有输出行。尾随空白,如n 不报行在内。注意,如果数组中已包含一些元素,exec()会被增加到数组末尾,如果不想在这个函数追加元素,在将数组传给exec()前调用unset();

③$return_var:值为1,说明没运行程序;值为0,说明运行成功。

④返回值:命令结果的最后一行

Foreach:

1. 遍历数组

2. foreach (array_expression as $value) statement

①遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

②当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用reset()。

Eregi:

1.不区分大小写的正则表达式匹配

2.int eregi ( string $pattern , string $string )

①在$string中寻找与给定的正则表达式$pattern所匹配的子串

②返回值:如果在 string 中找到 pattern 模式的匹配则返回 所匹配字符串的长度,如果没有找到匹配或出错则返回 FALSE

Strops:

1. 查找字符串首次出现的位置($needle在$haystack中首次出现的数字位置)

2. int strpos ( string $haystack ,mixed $needle)

①$haystack:在该字符串中进行查找

②返回值:以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值

Substr:

1. 返回字符串的子串

2. string substr ( string $string , int $start )

①$string:输入字符串

②$start:从$string的$start位置开始,从 0 开始计算

③返回值:返回提取的子字符串, 或者在失败时返回 FALSE

Preg_match:

1. 执行一个正则表达式匹配

2. int preg_match ( string $pattern , string $subject )

①$pattern:要搜索的模式, 字符串类型

②$subject:输入字符串

③返回$pattern 的匹配次数. 它的值将是0次(不匹配)或1次, 因为preg_match()在第一次匹配后将会停止搜索。

本文原始链接:http://www.jbxue.com/article/7524.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: