Php Проверка ссылки на доступность

Небольшой php скрипт который проверяет доступность ссылки, для меня приемлемыми были ответы 200,301,302,403,405:

<?php
function is_valid_url($url)
{
$timeout = 10;
$ch = curl_init($url);

// Set request options
curl_setopt_array($ch, array(
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_NOBODY => true,
CURLOPT_TIMEOUT => $timeout,
CURLOPT_USERAGENT => "page-check/1.0"
));

// Execute request
curl_exec($ch);

if(curl_errno($ch)) {
curl_close($ch);
return false;
}

$url = @parse_url($url);

if ( ! $url) {
return false;
}

$url = array_map('trim', $url);
$url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
$path = (isset($url['path'])) ? $url['path'] : '';

if ($path == '')
{
$path = '/';
}

$path .= ( isset ( $url['query'] ) ) ? "?$url[query]" : '';

if ( isset ( $url['host'] ) AND $url['host'] != gethostbyname ( $url['host'] ) )
{

$headers = get_headers_curl("$url[scheme]://$url[host]:$url[port]$path");

$headers = ( is_array ( $headers ) ) ? implode ( "\n", $headers ) : $headers;
preg_match_all ( '#^HTTP/.*\s+[0-9]+\s#i', $headers,$match );
$tmp = explode(' ',$match[0][0]);
//print_r($tmp);
$code = array(200,301,302,403,405);
if(in_array($tmp[1],$code)){
return true ;
}
}
return false;
}
?>

Случайные Статьи

Loading…


Количество просмотров :18862

7 Comments

  1. Ваня:

    Как этот скрипт запустить?

  2. Ваня:

    Ничего не понятно, а сам скрипт куда вставлять? Код который выше написан?

  3. admin:

    В тело вашего скрипта, это просто проверочная функция. А вы куда хотите использовать?

  4. Ваня:

    Выше написано, что
    Небольшой php скрипт который проверяет доступность ссылки, для меня приемлемыми были ответы 200,301,302,403,405:
    Как сделать так, чтобы проверить доступность ссылки что-то не могу догнать.
    Есть ссылка: mail.ru как проверить ее доступность, я думаю, что скрипт проверяет доступен майл или нет. Или он что-то другое проверяет?

Оставьте коментарий