PDA

View Full Version : چک کردن دامنه ها



mehdi4467
چهارشنبه 13 اردیبهشت 1391, 19:24 عصر
با سلام
من یک تکه کد لازم دارم که وقتی بهش یکسری دامنه بدیم بره تک تکشون رو چک کنه و اگر دامنه بالا نیامد بتونم نتیجه رو ذخیره کنم.
البته برای ذخیره کردن مشکلی نبست فقط اون تیکه که بفهمه دامنه بالا نمیاد رو می خوام.

با تشکر

Farshid007
چهارشنبه 13 اردیبهشت 1391, 19:47 عصر
با پینگ اگه بشه خوب میشه

یه نمونه گرفتن ping:

function ping($host, $port, $timeout) {
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
if (!$fP) { return "down"; }
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}


فکر کنم جواب بده زخمت تستشو بکش نتیجه اش هم بگو لطفا

Farshid007
چهارشنبه 13 اردیبهشت 1391, 19:49 عصر
این هم یک راه برای چک کرن down بودن سرور:

$ip = $_SERVER['127.0.0.1']; exec("ping -n 4 $ip 2>&1", $output, $retval); if ($retval != 0) { echo "no!"; } else { echo "yes!"; }

Farshid007
چهارشنبه 13 اردیبهشت 1391, 19:50 عصر
اینم برای چک کردن وجود یا عدم وجود یک دامنه

function urlExists($url=NULL)
{
if($url == NULL) return false;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300){
return true;
} else {
return false;
}
}

mehdi4467
چهارشنبه 13 اردیبهشت 1391, 20:04 عصر
با پینگ اگه بشه خوب میشه

یه نمونه گرفتن ping:

function ping($host, $port, $timeout) {
$tB = microtime(true);
$fP = fSockOpen($host, $port, $errno, $errstr, $timeout);
if (!$fP) { return "down"; }
$tA = microtime(true);
return round((($tA - $tB) * 1000), 0)." ms";
}


فکر کنم جواب بده زخمت تستشو بکش نتیجه اش هم بگو لطفا

با سلام
در این تابع host$ که همان دامنه است که می خواهیم چک کنیم.
timeout$ هم که زمان برای چک کردن است ( به ثانیه است یا میلی ثانیه؟)
اما منظور از port$ چیست؟

Unique
چهارشنبه 13 اردیبهشت 1391, 21:59 عصر
وقتی با سوکت ها کار میکنی فقط ip مهم نیست و مهم اینه که میخوای روی چه port ی چک کن ! مثلا port 80 برای web server هستش 21 برای ftp و 25 smtp که اینجوری میشه فهمید چه سرویس هایی روی سرور هست !