/ Published in: PHP
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
<?php class Randomainer { private static $savePath = '/'; // The path where the log must be saved. public $maxDomain = 10; // for security and performance issues is this a temporary solution.. 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-' ); 'aero', 'asia', 'biz', 'cat', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'jobs', 'mil', 'mobi', 'museum', 'name', 'net', 'org', 'pro', 'tel', 'travel', 'ac', 'ad', 'ae', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd' ,'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by' ,'bz', 'ca', 'cc' ,'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', 'mn', 'mn', 'mo', 'mp', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'nom', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ra', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw', 'arpa', 'local' ); public function generateDomainName($extensions) { // generate a domain name with all chars and selected domain extensions $counter = 0; foreach($this->characters as $first) { foreach($this->characters as $second) { foreach($this->characters as $third) { foreach($extensions as $ext) { if(($first != '-' && $third != '-') && in_array($ext, self::$tlds)) // the first and last character may not be - and the domain extension must be allowed. { $domain = $first.$second.$third.'.'.$ext; // build domain name $this->checkDomainName($domain); $counter = $counter +1; if($counter >= $this->maxDomain)// If all is good, we exit from here. { return 0; } } }//end extension foreach }//end third foreach }// end second foreach }// end first foreach } public function checkDomainName($url) { // redefine $domain = $url; $xml = new DOMDocument('1.0', 'utf-8'); $xml->load('http://whoiswebservice.org/whois.asmx/IsDomainAvailable?website='.$domain); $result = $xml->getElementsByTagName('string')->item(0)->nodeValue; self::$checkedUrls[$domain] = $result; } public function getAvailableDomains() { foreach(self::$checkedUrls as $domain => $status) { if($status == '1') { $return[] = $domain; }//end if status checking } // end foreach checkedurls return $return; // return the array who contains the avalaible domains } public function getTlds() { return self::$tlds; } /** * This method will save the results in a log file * @return void */ public function save() { // method to save the results. $checkedDomains = self::$checkedUrls; foreach($checkedDomains as $domain => $status) { if($status == '1') { $text = "Domain: ".$domain." is available.\n"; }else{ $text = "Domain: ".$domain." is not available.\n"; } }// end foreach checked domains } }