php获取ip

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取ip相关的知识,希望对你有一定的参考价值。

php代码获取ip地址
然后写入ip.txt
然后1天后删除,能简短就减
求高手帮忙,感谢不尽

$user_IP = $_SERVER["REMOTE_ADDR"];//获取访问者IP
$file_name=date('Y-m-d').'.txt'//以当前的日期建立txt文件
$file=fopen($file_name,"a+");//如果存在该文件就打开,如果不存在就创建
fwrite($file,$user_IP.'--'.date('Y-m-d H:i:s'));//将访问者IP及当前时刻写到文件最后
fclose($file);//关闭文件

//个人觉得txt文件不会很大所以一般无需一天一删除,因为在txt里删除一些行比起数据库要麻烦一些。

追问

如果是一个月一删呢,我怕有人恶意攻击,或者不记录重复ip

追答

你把记录文件命名为类似2013-9.txt,这样每月一个文件,不需要就删文件呗。个月

参考技术A 说下思路:$_SERVER["REMOTE_ADDR"]获取IP,file_put_contents()将ip写入ip.txt,最后判断time()>filemtime('ip.txt')+24*60*3600 条件成立使用unlink()删除文件追问

可以写代码吗

可以写代码吗

php 获取 ip 地址 函数:

php 获取 ip 地址 函数:
function
getIP () //取IP函数 { global $_SERVER; if (getenv(‘HTTP_CLIENT_IP‘)) { $ip = getenv(‘HTTP_CLIENT_IP‘); } else if (getenv(‘HTTP_X_FORWARDED_FOR‘)) { $ip = getenv(‘HTTP_X_FORWARDED_FOR‘); } else if (getenv(‘REMOTE_ADDR‘)) { $ip = getenv(‘REMOTE_ADDR‘); } else { $ip = $_SERVER[‘REMOTE_ADDR‘]; } return $ip; }

扩展:

<?php class clientGetObj
{
     function getBrowse()
     {
     global $_SERVER;
     $Agent = $_SERVER[‘HTTP_USER_AGENT‘]; 
     $browser = ‘‘;
     $browserver = ‘‘;
     $Browser = array(‘Lynx‘, ‘MOSAIC‘, ‘AOL‘, ‘Opera‘, ‘JAVA‘, ‘MacWeb‘, ‘WebExplorer‘, ‘OmniWeb‘); 
     for($i = 0; $i <= 7; $i ++){
         if(strpos($Agent, $Browsers[$i])){
             $browser = $Browsers[$i]; 
             $browserver = ‘‘;
         }
     }
     if(ereg(‘Mozilla‘, $Agent) && !ereg(‘MSIE‘, $Agent)){
         $temp = explode(‘(‘, $Agent); 
         $Part = $temp[0];
         $temp = explode(‘/‘, $Part);
         $browserver = $temp[1];
         $temp = explode(‘ ‘, $browserver); 
         $browserver = $temp[0];
         $browserver = preg_replace(‘/([d.]+)/‘, ‘1‘, $browserver);
         $browserver = $browserver;
         $browser = ‘Netscape Navigator‘; 
     }
     if(ereg(‘Mozilla‘, $Agent) && ereg(‘Opera‘, $Agent)) {
         $temp = explode(‘(‘, $Agent);
         $Part = $temp[1]; 
         $temp = explode(‘)‘, $Part);
         $browserver = $temp[1];
         $temp = explode(‘ ‘, $browserver); 
         $browserver = $temp[2];
         $browserver = preg_replace(‘/([d.]+)/‘, ‘1‘, $browserver);
         $browserver = $browserver;
         $browser = ‘Opera‘; 
     }
     if(ereg(‘Mozilla‘, $Agent) && ereg(‘MSIE‘, $Agent)){
         $temp = explode(‘(‘, $Agent);
         $Part = $temp[1]; 
         $temp = explode(‘;‘, $Part);
         $Part = $temp[1];
         $temp = explode(‘ ‘, $Part);
         $browserver = $temp[2]; 
         $browserver = preg_replace(‘/([d.]+)/‘,‘1‘,$browserver);
         $browserver = $browserver;
         $browser = ‘Internet Explorer‘;
     }
     if($browser != ‘‘){ 
         $browseinfo = $browser.‘ ‘.$browserver;
     } else {
         $browseinfo = false;
     }
     return $browseinfo;
     }


     function getIP () 
     {
     global $_SERVER;
     if (getenv(‘HTTP_CLIENT_IP‘)) {
         $ip = getenv(‘HTTP_CLIENT_IP‘);
     } else if (getenv(‘HTTP_X_FORWARDED_FOR‘)) {
         $ip = getenv(‘HTTP_X_FORWARDED_FOR‘); 
     } else if (getenv(‘REMOTE_ADDR‘)) {
         $ip = getenv(‘REMOTE_ADDR‘);
     } else {
         $ip = $_SERVER[‘REMOTE_ADDR‘];
     }
     return $ip; 
     }


     function getOS ()
     {
     global $_SERVER;
     $agent = $_SERVER[‘HTTP_USER_AGENT‘];
     $os = false;
     if (eregi(‘win‘, $agent) && strpos($agent, ‘95‘)){ 
         $os = ‘Windows 95‘;
     }
     else if (eregi(‘win 9x‘, $agent) && strpos($agent, ‘4.90‘)){
         $os = ‘Windows ME‘; 
     }
     else if (eregi(‘win‘, $agent) && ereg(‘98‘, $agent)){
         $os = ‘Windows 98‘;
     }
     else if (eregi(‘win‘, $agent) && eregi(‘nt 5.1‘, $agent)){ 
         $os = ‘Windows XP‘;
     }
     else if (eregi(‘win‘, $agent) && eregi(‘nt 5‘, $agent)){
         $os = ‘Windows 2000‘;
     } 
     else if (eregi(‘win‘, $agent) && eregi(‘nt‘, $agent)){
         $os = ‘Windows NT‘;
     }
     else if (eregi(‘win‘, $agent) && ereg(‘32‘, $agent)){ 
         $os = ‘Windows 32‘;
     }
     else if (eregi(‘linux‘, $agent)){
         $os = ‘Linux‘;
     }
     else if (eregi(‘unix‘, $agent)){ 
         $os = ‘Unix‘;
     }
     else if (eregi(‘sun‘, $agent) && eregi(‘os‘, $agent)){
         $os = ‘SunOS‘;
     } 
     else if (eregi(‘ibm‘, $agent) && eregi(‘os‘, $agent)){
         $os = ‘IBM OS/2‘;
     }
     else if (eregi(‘Mac‘, $agent) && eregi(‘PC‘, $agent)){ 
         $os = ‘Macintosh‘;
     }
     else if (eregi(‘PowerPC‘, $agent)){
         $os = ‘PowerPC‘;
     }
     else if (eregi(‘AIX‘, $agent)){ 
         $os = ‘AIX‘;
     }
     else if (eregi(‘HPUX‘, $agent)){
         $os = ‘HPUX‘;
     }
     else if (eregi(‘NetBSD‘, $agent)){ 
         $os = ‘NetBSD‘;
     }
     else if (eregi(‘BSD‘, $agent)){
         $os = ‘BSD‘;
     }
     else if (ereg(‘OSF1‘, $agent)){ 
         $os = ‘OSF1‘;
     }
     else if (ereg(‘IRIX‘, $agent)){
         $os = ‘IRIX‘;
     }
     else if (eregi(‘FreeBSD‘, $agent)){ 
         $os = ‘FreeBSD‘;
     }
     else if (eregi(‘teleport‘, $agent)){
         $os = ‘teleport‘;
     }
     else if (eregi(‘flashget‘, $agent)){ 
         $os = ‘flashget‘;
     }
     else if (eregi(‘webzip‘, $agent)){
         $os = ‘webzip‘;
     }
     else if (eregi(‘offline‘, $agent)){ 
         $os = ‘offline‘;
     }
     else {
         $os = ‘Unknown‘;
     }
     return $os;
     }


}?>

 


以上是关于php获取ip的主要内容,如果未能解决你的问题,请参考以下文章

php获取用户ip和地区

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

php获取了ip地址,用php怎么获取ip的地理位置?请大虾赐教!

PHP如何获取用户的真实IP?

php怎样通过IP获取应对的域名?

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