chungwoo 发表于 2009 年 7 月 10 日 18:14:12

那里错了?

<?php

define('SMALL', 0);
define('BIG', 1);

class ClientInfo {

var $flag_dirs = array(SMALL => 'assets/flags/small', BIG => 'assets/flags/big');
var $flag_ext = 'png';

cfunction getctrybycode($code) {
$countryArray = array();
$input = "includes/countries.dat";
$fd = fopen($input,"r") or die("Error: cannot open $input!");
while ($buffer = fgets($fd,4096))
{
$buffer = preg_replace("/\n/","",$buffer); //chomp()
$pieces = explode(",",$buffer);
$countryCode = $pieces; $countryName = $pieces;
$countryArray[$countryCode] = $countryName;
}
fclose($fd);
return $countryArray[$code];
}


cfunction getctrybyhost($hostname) {

return($this->getctrybycode($this->getctrycodebyhost($hostname)));
}

cfunction getctrycodebyhost($hostname) {
return(substr(strrchr($hostname,'.'),1));
}

cfunction MaskOtherIP($IP) {

if($IP==getenv("REMOTE_ADDR"))
return($IP);

$IP=strtr($IP,"0123456789","##########");
return($IP);
}

cfunction getClientIP() {
$IP = getenv('REMOTE_ADDR');
return $IP;
}

cfunction getClientHostname()
{
$error = 0;
$IP = $this->getClientIP();
$hostname = gethostbyaddr($IP);

if(!strcmp($hostname,$IP)) $error = 1; // if failure, gethostbyaddr() returns the IP
if (!$error) //if no error
{
return $hostname;
}
//else
return "";
}

cfunction getClientCountry()
{
$error = 0;
$hostname = $this->getClientHostname();
if (!strcmp($hostname,"")) $error = 1;
if (!$error)
{
$country = $this->getctrybyhost($hostname);
return $country;
}
//else
return "";
}

cfunction getClientFlag($size)
{
$error = 0;
$hostname = $this->getClientHostname();
if (!strcmp($hostname,"")) $error = 1;
if (!$error)
{
$country_code = strtolower($this->getctrycodebyhost($hostname));
$file_name = $this->flag_dirs[$size] . '/' . $country_code . '.' . $this->flag_ext;
if (is_readable($file_name))
{
return $file_name;
}
}
//else
return "";
}

cfunction getClientFlagHTML($size)
{
$error = 0;
$flag = $this->getClientFlag($size);
if (!strcmp($flag,"")) $error = 1;
if (!$error)
{
return '<img src="' . $flag . '">';
}
//else
return "";
}
};


www.hkgo.net.ru

wode998 发表于 2009 年 7 月 10 日 18:43:41

佛曰:和尚错了

xin 发表于 2009 年 7 月 11 日 00:45:45

呵呵.
页: [1]
查看完整版本: 那里错了?