สร้าง ฟังก์ชัน ค้นหาโดเมน check domain ว่าง อย่างง่าย ด้วย php

02 September 2010

โค้ดต่อไปนี้เป็นแนวทาง สามารถนำไปประยุกต์ใช้งาน ในการค้นหา โดเมน ว่าว่างหรือไม่ ได้ตามต้องการ

โค้ดส่วนของการตรวจสอบโดเมน
 

<?php
$port=43;
$arr_thaidomain_ext=array("in.th","co.th","or.th","ac.th","go.th","mi.th","net.th");
$arr_domain_ext=array(
	"com"	=>"whois.internic.net",
	"net"		=>"whois.internic.net",
	"org"		=>"whois.publicinterestregistry.net",
	"info"	=>"whois.afilias.net",
	"biz"		=>"whois.whois.biz",
	"tv"		=>"whois.nic.tv"
);
$arr_match_found=array(
	"com"	=>"No match",
	"net"		=>"No match",
	"org"		=>"NOT FOUND",
	"info"	=>"NOT FOUND",
	"biz"		=>"Not found",
	"tv"		=>"No match"
);
function checkDomain($ext,$domain){
	global $arr_thaidomain_ext,$arr_domain_ext,$arr_match_found,$port;
	
	if(empty($domain)){ 
		$errormsg = "กรุณาระบุ ชื่อโดเมน";
		return $errormsg;
	}elseif(preg_match("/(^-|-$)|([-]{2})/",$domain)) {
		$errormsg = "ชื่่อโดเมน $domain จะต้องไม่ขึ้นต้น หรือลงท้ายด้วย hyphen (ขีดกลาง) หรือมี hyphen (ขีดกลาง) 2 ตัว";
		return $errormsg;
	}elseif(!preg_match("/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9]))/",$domain) || !strlen($domain)){
		$errormsg = "ชื่่อโดเมน  ($domain) ชื่อโดเมน ต้องเป็นตัวอักษร หรือตัวเลข หรือ hyphen (ขีดกลาง) เท่านั้น";
		return $errormsg;
	}	
//	echo $errormsg;
	if(!$errormsg){ // begin if no error
		if(in_array($ext,$arr_thaidomain_ext)){
			$arr_domain_ext[$ext]="whois.thnic.net";
			$arr_match_found[$ext]="No entries";
		}
		$ndomain=trim($domain).".".$ext;
		$sock=@fsockopen($arr_domain_ext[$ext],$port);	
		if(!$sock){ 
			echo "Unable to connect to $qserver:$port";
		}else{
			fputs($sock,"$ndomainrn"); 		
			while(!feof($sock)) {
				$reply .= fgets($sock, 1024); 
			}
			if(preg_match("/".$arr_match_found[$ext]."/i",$reply)){
					$validDomain[0]=1;
					$validDomain[1]=iconv("tis-620","utf-8",nl2br($reply));
					return $validDomain;
			}else{
					$validDomain[0]=0;
					$validDomain[1]=iconv("tis-620","utf-8",nl2br($reply));
					return $validDomain;
			}
		}	// end no sock	
	} // end if no error

}
?>

ตัวอย่างการนำไปใช้

<?php
// ต้องการหาว่า โดเมนชื่อ ninenik.com ว่างหรือไม่
// ชื่อโดเมน และนามสกุล dot com ส่งเป็นตัวแปรเข้าไปได้
list($returnValid,$returnDetail)=checkDomain("com","ninenik");
echo $returnValid."<br>"; // 1 =ว่าง  , 0 = ไม่ว่าง
echo $returnDetail."<br>"; 
// $returnValid = 1 $returnDetail = แสดงผลการค้นหาโดเมน
// $returnValid = 0 $returnDetail = แสดง whois ของโดเมน
?>

 








บทความในหมวดที่่น่าสนใจ อื่นๆ PHP Learning

02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 1161 19 Jan 11 อักขระคั่น (Delimiters) ในการใช้งาน Regular Expressions ของ PHP อ่าน 1073 21 Jan 11 การใช้งาน Meta characters ใน Regular Expressions ของ PHP อ่าน 1049 09 Nov 11 แนวทางการสร้างเมนูหลายภาษา อย่างง่ายด้วย php และ javascript อ่าน 1041 14 Oct 11 การเชื่อมต่อ facebook และ ล็อกอิน แบบ popup ด้วย php sdk v.3.1.1 อ่าน 881 06 Jun 11 แนวทางการกำหนด expired header ให้กับรูปภาพ ด้วย php อย่างง่าย อ่าน 771 13 Oct 11 แนะนำการใช้งาน การเชื่อมต่อ facebook ด้วย php sdk v.3.1.1 อ่าน 770

บทความคนเข้าอ่านวันนี้

11 Jan 12 รู้จัก และใช้งาน DATEDIFF() ใน mysql ฟังก์ชัน เทียบช่วงเวลาที่เหลือ อ่าน 414 12 Sep 10 การดึง attribute และค่าต่างๆ จาก xml ไฟล์ด้วย jQuery อย่างง่าย อ่าน 2426 06 Jan 09 บวกวันใน javascript ด้วยฟังก์ชัน day add อย่างง่าย อ่าน 3851 04 Oct 10 รู้จัก และใช้งาน php sdk สำหรับ facebook เพิ่มขึ้น อ่าน 2856 06 Oct 10 การใช้งาน graph api ของ facebook ด้วย php sdk อ่าน 3703 19 Jun 10 สร้าง comment ด้วย social plugins ใน facebook api อย่างง่ายดาย อ่าน 17299 05 Nov 08 CSS สร้างเมนูแนวนอน 2 ชั้นโดยไม่ใช้ javascript และตาราง table อ่าน 10257 25 Sep 08 Jquery javascript library มาแรง อ่าน 6385 06 Mar 11 แนะนำ ปลั๊กอิน comment ตัวใหม่ของ facebook อ่าน 3274 23 Nov 08 สร้างเมนูแท็บ Tab menu ด้วย jQuery + CSS อย่างง่าย อ่าน 24732 09 Jul 10 เพิ่มความเร็ว ให้กับการ cache ด้วย jquery ajax และ php cache class อ่าน 2299 08 Oct 10 การอัพเดท สถานะบน facebook อัตโนมัติ แบบ graph api ด้วย php sdk อ่าน 3534 02 Jun 10 การหา ขนาด ความกว้าง ความสูงของ รูปภาพ ด้วย javascript อ่าน 2168 17 Nov 08 ตรวจสอบฟอร์ม form ก่อน submit ด้วย jquery อ่าน 9332 16 Aug 10 เทคนิค ใช้ event beforeunload แจ้งเตือนก่อน ปิดบราวเซอร์ ด้วย jQuery อ่าน 1614 08 Dec 09 แปลง jQuery object เป็น DOM object อ่าน 2476 02 Apr 09 สร้างรายการตัวเลือกให้กับ input text ด้วย jQuery อย่างง่าย อ่าน 4089 17 Sep 10 กำหนด infowindow ให้กับตัว marker จำนวนมาก ใน google map อ่าน 2932 19 Jul 10 การนำ ระบบสมาชิก ของ facebook มาประยุกต์ใช้ อ่าน 5416 24 Mar 10 เริ่มต้น รู้จัก ก่อนการใช้งาน google map api อ่าน 5374
จำนวนผู้เยี่ยมชม 784693
คน 2012 © Copyright ninenik.com. All rights reserved.