ใครพอมี สคริป ที่ไว้ให้ลูกค้า check domain ตอนจะจดโดเมนกับเราบ้างครับช่วยแนะนำหน่วยครับไม่ใช่ whois นะครับเอาแบบที่พวกพี่ๆใช้ตอนให้ลูกค้า check domain ว่าว่างหรือเปล่าถ้าว่าง ก็คลิกสมัครได้เลยนะครับ( ถ้ามี whois อยู่ข้างๆ โดเมนที่ check ก็จะดีมากเลยครับ)
เป็น reseller ของที่ไหนครับ ใช้ API น่าจะดีกว่าครับ
แต่ถ้าอยากใช้สคริปจริงๆ แนะนำ MWhois
หาได้จาก http://www.hotscripts.com
อ้อ…โหลดจากนี่ก็ได้ครับ http://www.mattsscripts.co.uk/mwhois.htm
ผมเห็นถามคำถามนี้บ่อย เลยอยากให้ข้อคิดหน่อยนะครับ
เอาของเค้ามาใช้ เวลาเค้าติดเครดิตมา ก็อย่าลบออกนะครับ ผมเห็นหลายคนลบเครดิตออก (99% ที่เห็นมา) ทำเหมือนกับว่าตัวเองเขียนเอง
whois.php
<?php
//how to search whois.php?domain=tc20.net
//check null
$domain=trim($domain);
if(($ext!=NULL)||($domain==NULL)){exit();}
//explode domain ext from domain
list($domain,$ext)=explode(".", $domain);
//check syntax
$leng=strlen($domain);
if($leng<2){echo"domain < 2";exit();}else if($leng>63){echo"domain > 63";exit();}
if(@ereg("^-|-$",$domain)){exit();}
if(!@ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($domain)."}",$domain) || !strlen($domain)){exit();}
//check domain
$x=whois($domain,$ext);
if($x==0){echo"ไม่สามารถเชื่อมต่อกับ server ได้";}
else if($x==1){echo"สามารถจดโดเมนได้";}
else if($x==2){echo"มีผู้ใช้โดเมนนี้แล้ว";}
function whois($domain,$ext)
{
//select whois server from ext
if(($ext==‘com’)||($ext==‘net’)){$whoisserver=‘whois.crsnic.net’;$finddata=“No match”;}
else if ($ext==‘info’){$whoisserver=‘whois.afilias.info’;$finddata=“NOT FOUND”;}
else if ($ext==‘biz’){$whoisserver=‘whois.nic.biz’;$finddata=“Not found”;}
else if ($ext==‘org’){$whoisserver=‘whois.publicinterestregistry.net’;$finddata=“NOT FOUND”;$findlimit=“WHOIS LIMIT EXCEEDED”;}
else if ($ext==‘us’){$whoisserver=‘whois.nic.us’;$finddata=“Not found”;}
else if ($ext==‘in’){$whoisserver=‘whois.inregistry.net’;$finddata=“NOT FOUND”;}
else if ($ext==‘cn’){$whoisserver=‘whois.cnnic.net.cn’;$finddata=“no matching record”;}
else{exit();}
//connect to whois server
$domain="$domain.$ext";
$fp = fsockopen("$whoisserver", 43, $errno, $errstr, 30);
if (!$fp){return 0;}else{fputs($fp, “$domain
”);while (!feof($fp)){$whoisdata.= fread($fp,128);}fclose ($fp);}
//find match data
$checklimit=searchmatch($whoisdata,$findlimit);
if($checklimit==1){return 0;}
$checkdata=searchmatch($whoisdata,$finddata);
if($checkdata==1){return 1;}else{return 2;}
}
function searchmatch($data,$find)
{
$strpos=strpos($data,$find);
if($strpos===false){return 0;}else{return 1;}
}
//toey@tc20.net
?>
ลองดูอ่าครับ ผมก็เขียนไม่ค่อยเก่ง ผิดพลาดขอโทษด้วยนะครับ
หากมีอะไรให้ช่วยก็บอกได้ครับ
ช่วยๆ กันครับ
เพิ่มเติมนิดนึง สำหรับการตรวจสอบชื่อโดเมนว่างหรือไม่ว่าง
ปัจจุบัน ขั้นตอนการจดชื่อโดเมนรวดเร็วมากและชื่อโดเมนที่ถูกจดแล้วก็จะพร้อมใช้งานทันที แต่ว่า whois เซิฟเวอร์กลางของโดเมนอาจจะไม่ได้ปรับข้อมูลตลอดเวลา ดังนั้นอาจจะมีปัญหาได้ในกรณีที่โดเมนที่เพิ่งจดใหม่ แต่ใน whois กลับแจ้งว่าชื่อโดเมนนั้นยังว่างอยู่ ผมได้เคยให้รายละเอียดพร้อมตัวอย่างไว้แล้วที่
ผมลองดูแล้วทำมันไม่ show เมื่อผม check www.ปกปิด.com/whois.php
[quote author=toey link=topic=7698.msg73185#msg73185 date=1189018025]
whois.php
<?php
//how to search whois.php?domain=tc20.net
//check null
$domain=trim($domain);
if(($ext!=NULL)||($domain==NULL)){exit();}
//explode domain ext from domain
list($domain,$ext)=explode(".", $domain);
//check syntax
$leng=strlen($domain);
if($leng<2){echo"domain < 2";exit();}else if($leng>63){echo"domain > 63";exit();}
if(@ereg("^-|-$",$domain)){exit();}
if(!@ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($domain)."}",$domain) || !strlen($domain)){exit();}
//check domain
$x=whois($domain,$ext);
if($x==0){echo"ไม่สามารถเชื่อมต่อกับ server ได้";}
else if($x==1){echo"สามารถจดโดเมนได้";}
else if($x==2){echo"มีผู้ใช้โดเมนนี้แล้ว";}
function whois($domain,$ext)
{
//select whois server from ext
if(($ext==‘com’)||($ext==‘net’)){$whoisserver=‘whois.crsnic.net’;$finddata=“No match”;}
else if ($ext==‘info’){$whoisserver=‘whois.afilias.info’;$finddata=“NOT FOUND”;}
else if ($ext==‘biz’){$whoisserver=‘whois.nic.biz’;$finddata=“Not found”;}
else if ($ext==‘org’){$whoisserver=‘whois.publicinterestregistry.net’;$finddata=“NOT FOUND”;$findlimit=“WHOIS LIMIT EXCEEDED”;}
else if ($ext==‘us’){$whoisserver=‘whois.nic.us’;$finddata=“Not found”;}
else if ($ext==‘in’){$whoisserver=‘whois.inregistry.net’;$finddata=“NOT FOUND”;}
else if ($ext==‘cn’){$whoisserver=‘whois.cnnic.net.cn’;$finddata=“no matching record”;}
else{exit();}
//connect to whois server
$domain="$domain.$ext";
$fp = fsockopen("$whoisserver", 43, $errno, $errstr, 30);
if (!$fp){return 0;}else{fputs($fp, “$domain
”);while (!feof($fp)){$whoisdata.= fread($fp,128);}fclose ($fp);}
//find match data
$checklimit=searchmatch($whoisdata,$findlimit);
if($checklimit==1){return 0;}
$checkdata=searchmatch($whoisdata,$finddata);
if($checkdata==1){return 1;}else{return 2;}
}
function searchmatch($data,$find)
{
$strpos=strpos($data,$find);
if($strpos===false){return 0;}else{return 1;}
}
//toey@tc20.net
?>
ลองดูอ่าครับ ผมก็เขียนไม่ค่อยเก่ง ผิดพลาดขอโทษด้วยนะครับ
หากมีอะไรให้ช่วยก็บอกได้ครับ
ช่วยๆ กันครับ