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;
}
	
	            