香小子 发表于 2005 年 7 月 11 日 22:24:41

php版客户端信息自动生成  源代码公布(转落5)

不是本人原创
再一些学习教程中大多有简单介绍
效果
http://demo.cms8.com/ip.php
<%@Page Language="C#" Debug="true"%>
<%@Import namespace="System"%>
<%@Import namespace="System.Drawing"%>
<%@Import namespace="System.IO"%>
<%
string sReferer=Request.ServerVariables["HTTP_REFERER"];
string sLanguage,sBrowser,sSys;
if(Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"].IndexOf("zh-cn")>=0){
  sLanguage="Chinese";
}
else
{
  sLanguage=Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"];
}
string[] aUserAgent=Request.ServerVariables["HTTP_USER_AGENT"].Split(';');
if(aUserAgent.Length>2){
  sBrowser=aUserAgent.Replace("MSIE","Internet Explorer").Trim();
  if(sBrowser=="U"){
  sBrowser="Mozilla";
  }
  sSys=aUserAgent.Replace(")","");
  sSys=sSys.Replace("NT 5.2","2003");
  sSys=sSys.Replace("NT 5.1","XP");
  sSys=sSys.Replace("NT 5.0","2000");
  sSys=sSys.Replace("9x","Me").Trim();
}
else
{
  sBrowser="Unknown";
  sSys="Unknown";
}
int nWidth=260,nHeight=90;
Bitmap image=new Bitmap(nWidth,nHeight);
Graphics g=Graphics.FromImage(image);
Stream imgData=new MemoryStream();
g.Clear(Color.Snow);
g.DrawRectangle(Pens.Black,0,0,nWidth-1,nHeight-1) ;
g.DrawString("Your IP: " + Request.ServerVariables["REMOTE_ADDR"],new Font("Courier New", 9,FontStyle.Bold),new SolidBrush(Color.FromArgb(200, 14, 91)),6,6);
g.DrawString("Language : " + sLanguage,new Font("Courier New", 9,FontStyle.Bold),new SolidBrush(Color.FromArgb(0, 0, 0)),6,26);
g.DrawString("Your OS: " + sSys,new Font("Courier New", 9,FontStyle.Bold),new SolidBrush(Color.FromArgb(0,0,255)),6,46);
g.DrawString("Browser: " + sBrowser,new Font("Courier New", 9,FontStyle.Bold),new SolidBrush(Color.FromArgb(0, 160, 0)),6,66);
g.Dispose();
Response.ContentType="image/gif";
image.Save(Response.OutputStream ,System.Drawing.Imaging.ImageFormat.Gif);
%>
<?php
//处理要显示的相关信息
if(!(strpos($_SERVER["HTTP_ACCEPT_LANGUAGE"],"zh-cn")===false)){
  $sLanguage="Chinese";
}
else
{
  $sLanguage=$_SERVER["HTTP_ACCEPT_LANGUAGE"];
}
$aUserAgent=explode(";",$_SERVER["HTTP_USER_AGENT"]);
if(count($aUserAgent)>2){
  $sBrowser=trim(str_replace("MSIE","Internet Explorer",$aUserAgent));
  if(trim($sBrowser)=="U"){
  $sBrowser="Mozilla";
  }
  $sSys=str_replace(")","",$aUserAgent);
  $sSys=str_replace("NT 5.2","2003",$sSys);
  $sSys=str_replace("NT 5.1","XP",$sSys);
  $sSys=str_replace("NT 5.0","2000",$sSys);
  $sSys=trim(str_replace("9x","Me",$sSys));
}
else
{
  $sBrowser="Unknown";
  $sSys="Unknown";
}

header ("Content-type: image/png");

//定义图片宽高
$nWidth=250;
$nHeight=90;
$im = @imagecreate ($nWidth,$nHeight) or die ("Cannot Initialize new GD image stream");
//图片色彩设置
$background_color = imagecolorallocate ($im, 235, 235, 240);
$sColorRed = imagecolorallocate ($im, 200, 14, 91);
$sColorBlack = imagecolorallocate ($im, 0, 0, 0);
$sColorBlue = imagecolorallocate ($im, 0, 0, 255);
$sColorGreen = imagecolorallocate ($im, 0, 160, 0);
//绘制图片边框
imagefilledrectangle($im, 0, 0, $nWidth - 1, $nHeight - 1, $background_color);
imagerectangle($im, 0, 0, $nWidth - 1, $nHeight - 1, $sColorBlack);
//生成图片文字
imagestring ($im, 3, 6, 6,"Your IP: " . $_SERVER["REMOTE_ADDR"], $sColorRed);
imagestring ($im, 3, 6, 26,"Language : " . $sLanguage, $sColorBlack);
imagestring ($im, 3, 6, 46,"Your OS: " . $sSys, $sColorBlue);
imagestring ($im, 3, 6, 66,"Browser: " . $sBrowser, $sColorGreen);
//产生图片
imagepng ($im);
imagedestroy ($im);
?>


PS:我不会怎么用啊。会用的写上方法来。

小宝 发表于 2005 年 7 月 11 日 23:57:56

看看是不是这个
http://www.bao.com.ru/g/ip.php
演示
http://www.bao.com.ru/g/ip.php

lvye 发表于 2005 年 7 月 12 日 00:23:03

第一段代码怎么用?

小宝 发表于 2005 年 7 月 12 日 00:29:53

用第二段生成php文件就ok了,第一段是。net用滴

zjtv 发表于 2005 年 7 月 12 日 03:24:21

以下这个是我修改过的代码,利用.htaccess文件实现的功能,直接以ip.jpg图片形式访问。
http://blog.x05host.com/ip.jpg

http://blog.x05host.com/ip.jpg

新建.htaccess文件,保存以下代码
<Files ip.jpg>
ForceType application/x-httpd-php
</Files>

新建文本文档,保存以下代码。然后更改文档后缀为ip.jpg
<?php
//处理要显示的相关信息
if(!(strpos($_SERVER["HTTP_ACCEPT_LANGUAGE"],"zh-cn")===false)){
  $sLanguage="Chinese";
}
else
{
  $sLanguage=$_SERVER["HTTP_ACCEPT_LANGUAGE"];
}
$aUserAgent=explode(";",$_SERVER["HTTP_USER_AGENT"]);
if(count($aUserAgent)>2){
  $sBrowser=trim(str_replace("MSIE","Internet Explorer",$aUserAgent));
  if(trim($sBrowser)=="U"){
  $sBrowser="Mozilla";
  }
  $sSys=str_replace(")","",$aUserAgent);
  $sSys=str_replace("NT 5.2","2003",$sSys);
  $sSys=str_replace("NT 5.1","XP",$sSys);
  $sSys=str_replace("NT 5.0","2000",$sSys);
  $sSys=trim(str_replace("9x","Me",$sSys));
}
else
{
  $sBrowser="Unknown";
  $sSys="Unknown";
}

header ("Content-type: image/png");

//定义图片宽高
$nWidth=250;
$nHeight=105;
$im = @imagecreate ($nWidth,$nHeight) or die ("Cannot Initialize new GD image stream");
//图片色彩设置
$background_color = imagecolorallocate ($im, 235, 235, 240);
$sColorRed = imagecolorallocate ($im, 200, 14, 91);
$sColorBlack = imagecolorallocate ($im, 0, 0, 0);
$sColorBlue = imagecolorallocate ($im, 0, 0, 255);
$sColorGreen = imagecolorallocate ($im, 0, 160, 0);
$sColorCoral = imagecolorallocate ($im, 255, 127, 80);
//绘制图片边框
imagefilledrectangle($im, 0, 0, $nWidth - 1, $nHeight - 1, $background_color);
imagerectangle($im, 0, 0, $nWidth - 1, $nHeight - 1, $sColorBlack);
//生成图片文字
imagestring ($im, 3, 6, 6,"Your IP: " . $_SERVER["REMOTE_ADDR"], $sColorRed);
imagestring ($im, 3, 6, 26,"Language : " . $sLanguage, $sColorBlack);
imagestring ($im, 3, 6, 46,"Your OS: " . $sSys, $sColorBlue);
imagestring ($im, 3, 6, 66,"Browser: " . $sBrowser, $sColorGreen);
imagestring ($im, 3, 50, 86,"Ads By Zjsky.Net.Ru", $sColorCoral);
//产生图片
imagepng ($im);
imagedestroy ($im);
?>

asnoka 发表于 2005 年 7 月 12 日 03:32:16

原来如此,仁兄真强~~~

发表于 2005 年 7 月 18 日 22:33:11

如果是ASP的.直接把源码保存成.ASP就行了嘛.

香小子 发表于 2005 年 7 月 18 日 22:48:36

http://2bbs.za.net/ip.jpg

发表于 2005 年 7 月 18 日 22:52:10

我在自己的机子上测试了.500错误....

可樂 发表于 2005 年 7 月 18 日 22:53:23

不错收藏
页: [1] 2
查看完整版本: php版客户端信息自动生成  源代码公布(转落5)