Home > php教程 > php手册 > php记录来访者的信息并生成图片

php记录来访者的信息并生成图片

WBOY
Release: 2016-06-13 09:07:24
Original
1181 people have browsed it

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);
Copy after login

您可能感兴趣的文章

  • php判断来访蜘蛛信息的函数
  • PHP记录搜索引擎来路以及搜索输入的关键字
  • 如何通过jquery控制用户上传的过宽的图片的显示
  • php如何清除html格式并去除文字中的空格然后截取文字
  • php获取目录所有文件并将结果保存到数组的程序
  • php生成图片缩略图的类方法
  • smarty模板中使用php函数以及smarty模板中如何对一个变量使用多个函数
  • php过滤垃圾留言(评论)信息功能
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template