glukerrr
Guest
Оцените функцию getServerType(url)
Добрый день..
Т.к. никто мне не помог написать эту функцию (узнать тип сервера по урлу), то я решил это сделать сам. Но у меня могут быть неудачные места в коде.. Пожалуйста поправьте.. А те кому эта функция нужна - пользуйтесь!
А и вот еще.. никто не подскажет как заменить тот громоздкий поиск в коде ответа, на регулярное выражение? Что-то у меня не получилось.. =(
Добрый день..
Т.к. никто мне не помог написать эту функцию (узнать тип сервера по урлу), то я решил это сделать сам. Но у меня могут быть неудачные места в коде.. Пожалуйста поправьте.. А те кому эта функция нужна - пользуйтесь!
А и вот еще.. никто не подскажет как заменить тот громоздкий поиск в коде ответа, на регулярное выражение? Что-то у меня не получилось.. =(
PHP:
/******************************
Функция getServerType($url)
$url - URL сайта или IP сервера
Возвращает тип сервера
******************************/
function getServerType($url) {
$sockurl = (substr($url, 0, 7) == 'http://') ? substr($url, 7) : $url;
$fp = fsockopen($sockurl, 80, $errno, $errstr, 666);
$srv_type = '';
if (!$fp) {
return $srv_type;
} else {
fputs ($fp, 'HEAD http://$sockurl HTTP/1.0\r\n\r\n');
while (!feof($fp)) {
$srv_type.= fgets($fp,128);
}
}
fclose ($fp);
str_replace('\r\n', '\n', $srv_type);
$params = explode('\n', $srv_type);
while( list($key, $val) = each($params) ) {
if(strtolower(substr($val, 0, 7)) == "server:") {
$srv_type = trim(substr($val, 7));
break;
}
}
return $srv_type;
}