Maison >développement back-end >tutoriel php >php记录来访者的信息并生成图片_PHP教程
php记录来访者的相关信息并生成图片,效果图如下。
代码如下,本篇文章只写了一些初级的东西,有需要的朋友可以根据自己的情况进行修改。
<?php //功能:来访信息生成图片 function getBrowse(){//记录来访者的浏览器信息 global $_SERVER; $Agent=$_SERVER['HTTP_USER_AGENT']; $browseinfo=''; if(ereg('Mozilla',$Agent)&&!ereg('MSIE',$Agent)){ $browseinfo='Netscape Navigator'; } if(ereg('Opera',$Agent)){ $browseinfo='Opera'; } if(ereg('Mozilla',$Agent)&&ereg('MSIE',$Agent)){ $browseinfo='Internet Explorer'; } if(ereg('Chrome',$Agent)){ $browseinfo="Chrome"; } if(ereg('Firefox',$Agent)){ $browseinfo="Firefox"; } return $browseinfo; } 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; } 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.2',$agent)){ $os='Windows 2003'; }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; } $ob=getBrowse(); $os= getOS(); $ip=getIP(); $str="IP:".$ip; $str2="OS:".$os; $str3=$ob; $str4="from : www.phpernote.com"; $width=250;//验证码图片的宽度 $height=110;//验证码图片的高度 @header("Content-Type:image/png"); $im=imagecreate($width,$height); //背景色 $back=imagecolorallocate($im,0xFF,0xFF,0xFF); //模糊点颜色 $pix=imagecolorallocate($im,187,230,247); //字体色 $font=imagecolorallocate($im,41,163,238); //绘模糊作用的点 mt_srand(); for($i=0;$i<1000;$i++){ imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix); } imagestring($im,5,7,5,$str,$font); imagestring($im,5,7,30,$str2,$font); imagestring($im,5,7,55,$str3,$font); imagestring($im,5,7,80,$str4,$font); imagerectangle($im,0,0,$width-1,$height-1,$font); imagepng($im); imagedestroy($im);