PHP获取动态IP并记录到文件
花生壳的DDNS虽然稳定性比以前好了很多,不过总是在重要时刻抽风,需要用到的时候就是连不上。所以一直想换一个DDNS但找不到稳定又免费的。正好有一台vps,所以想先凑合一下搞一个显示当前动态IP的东西。接下来准备研究一下namesilo的API。家里用的是ROS,GET方式的参数传递还是可以用的,据说新版可以用POST。VPS是外国的,装了PHP,所以就写了一个PHP页面,把动态IP数据写入到一个htm文件中(PHP是完全不会的,只会找PHP手册一个一个抄)。访问这个php文件,就可以把内容写到test.htm中。如
http://xxx.xxx.xxx/test.php?ipaddr1=192.168.1.1
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $ipaddr1 = $_GET['ipaddr1']; $ipaddr1 .= " - [".date('Y-m-d h:i:s', time())."]<br>\n"; $fp = file("test.htm"); if(substr($ipaddr1,0,strpos($ipaddr1," -")) != substr($fp[count($fp)-1],0,strpos($fp[count($fp)-1]," -"))) { $file = fopen("test.htm","a"); $result = fwrite($file,$ipaddr1); fclose($file); $fp = file("test.htm"); if(count($fp)>100){array_shift($fp);} unlink("test.htm"); $file = fopen("test.htm","a"); for($n=0;$n<count($fp);$n++) { $result = fwrite($file,$fp[$n]); } fclose($file); } ?> |