WHOIS class SearchDomain{var $domain="";function SetDomain($udomain){$this->domain = $udomain;}//// 获取whois并分析域名状态// ok 未被注册// 非空值 过期时间// 空值 未知//function GetInfo(){/*$dinfo = trim($this->GetWhois());if($dinfo=="") return "";if(eregi("no match",$dinfo)) return "ok";//return $rs;*/$wl = "";$w_server = $this->GetServer();if($w_server=="") return "";$fp = fsockopen($w_server, 43, $errno, $errstr, 30);if(!$fp){echo $errstr;return "";}$out = $this->domain."\r\n";$out .= "Connection: Close\r\n\r\n";fputs($fp, $out);while (!feof($fp)){$wl = fgets($fp, 255);if(eregi("no match",$wl)){fclose($fp);return "ok";}if(eregi("Expiration Date",$wl)){$lines = split(":",$wl);$t = trim($lines[1]);$ts = split(" ",$t);$t = $ts[0];if(ereg("[^0-9-]",$t)){$ts = split("-",$t);$t = $ts[2]."-".$this->MonthToNum($ts[1])."-".$ts[0];}fclose($fp);return $t;}}fclose($fp);return "";}////获得域名的整个whois信息//function GetWhois(){$wh = "";$w_server = $this->GetServer();if($w_server=="") return "";$fp = fsockopen($w_server, 43, $errno, $errstr, 30);if(!$fp){echo $errstr;return "";}$out = $this->domain."\r\n";$out .= "Connection: Close\r\n\r\n";fputs($fp, $out);while (!feof($fp)){$wh .= nl2br(fgets($fp, 255));}fclose($fp);return $wh;}////输出当前域名的状态信息//function PrintSta(){$rs = $this->GetInfo();if($rs=="ok") echo $this->domain." 未注册!\r\n";else if($rs=="") echo "无法查询 ".$this->domain." 状态!\r\n";else echo $this->domain." 已注册,到期时间:$rs\r\n";}////获得 whois 查询服务器//function GetServer(){$udomain=substr($this->domain,-3);switch($udomain){case "com":$w_server="whois.internic.net";break;case "net":$w_server="whois.internic.net";break;case "org":$w_server="whois.pir.org";break;case "nfo":$w_server="whois.afilias.info";break;case "biz":$w_server="whois.biz";break;case ".cc":$w_server="whois.nic.cc";break;case "edu":$w_server="whois.educause.net";break;case "gov":$w_server="whois.nic.gov";break;case ".cn":$w_server="whois.cnnic.net.cn";break;default:$w_server="";}return $w_server;}////英语的月份转为数字//function MonthToNum($m){$m = strtolower($m);for($i=1;$i {$tt = mktime(0,0,0,$i+1,0,2005);if($m==strtolower(strftime("%b",$tt))){if($i>9) return $i-1;else return "0".$i-1;}}}}$sd = new SearchDomain();$sd->SetDomain("job-sky.com");//查询域名是否被注册,等价于 $sd->PrintSta();$rs = $sd->GetInfo();if($rs=="ok") echo $sd->domain." 未注册!\r\n";else if($rs=="") echo "无法查询 ".$sd->domain." 状态!\r\n";else echo $sd->domain." 已注册,到期时间:$rs\r\n";//获得域名的详细whois信息//echo $sd->GetWhois();?>阅读全文 | PHP专区 | 评论(0) | 浏览次数: 0如何屏蔽掉phpinfo()函数Submitted byon 2005, May 11, 10:10 AM在 php.ini 配置文件里面有这个选项disable_functions = ; This directive allows you to disable certain; functions for security reasons. It receives; a comma separated list of function names.; This directive is *NOT* affected by whether; Safe Mode is turned on or off.写成disble_function = phpinfo阅读全文 | PHP专区 | 评论(0) | 浏览次数: 0几点提高php序运行效率的方法Submitted byon 2005, May 11, 10:07 AM1、用i+=1代替i=i+1。符合c/c++的习惯,效率还高。2、尽可能的使用PHP内部函数。自己编写函数之前要详细查阅手册,看有没有相关的函数,否则费力不讨好。3、能使用单引号字符串尽量使用单引号字符串。单引号字符串的效率要高于双引号字符串。4、用foreach代替while遍历数组。遍历数组时foreach的效率明显高于while循环,而且不需要调用reset函数。两种遍历方法如下:reset ($arr);while (list($key, $value) = each ($arr)) {echo "Key: $key; Value: $valuen";}foreach ($arr as $key => $value) {echo "Key: $key; Value: $valuen";}
