Вопрос по PHP: Как проверить живая ли URL?

Тема в разделе "PHP программирование", создана пользователем Guest, 9 дек 2003.

Статус темы:
Закрыта.
  1. Guest

    Guest Гость

    сабж в общем-то...
    Нодо проверять на php мертвые линки.
     
  2. STYX

    STYX Гость

    Код (Text):
    <?php
    $file=file.html;
    if (is_file($file)==false)
    echo "ага";
    else
    echo "не ага";
    ?>
    Есть еще функция is_link, вместо is_file.
     
  3. Sir Alex

    Sir Alex Гость

    2 STYX
    Господин STYX. Какое отношение иеет файл к URL? Функция is_file() проверяет наличие файла и то, что это собственно файл, а is_link() проверка на то, что это символическая ссылка (что тоже относится к файловой системе).

    2 Guest
    Есть несколько способов:
    1. использовать функцию fopen(), если она сможет открыть URL, значит он жив. Побочные явления: fopen скачает все, что будет отчетом на этот URL, например HTTP страничка(разумеется без картинок) или картинка.
    2. использовать "сокеты", тут придется покапаться в RFC стандарте HTTP протокола. Вот пример:
    Код (Text):
    <?php
    $fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
    if (!$fp) {
     echo "$errstr ($errno)<br>\n";
    } else {
     fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n");
     while (!feof($fp)) {
       echo fgets ($fp,128);
     }
     fclose ($fp);
    }
    ?>
    Это вобщемто аналог fopen. Вам надо считать из соеденения только заголовок ответа, а не весь пакет данных. В заголовке будет код ошибки, если 200, значит все ОК (правда не всегда, есть еще redirection...)
    3. посмотреть системные функции CURL (в часности curl_init() )

    Успехов!
     
  4. Guest

    Guest Гость

    Sir Alex
    wow
    10x. Сработало. Молоток :D
     
  5. STYX

    STYX Гость

    Sir Alex
    А нам что надо?! Проверить есть ли файл и все.

    Извиняюсь, если не так понял.
     
Загрузка...
Похожие Темы - Вопрос по PHP
  1. ApplePen
    Ответов:
    0
    Просмотров:
    53
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    90
  3. kartaman
    Ответов:
    0
    Просмотров:
    125
  4. Peter
    Ответов:
    4
    Просмотров:
    518
  5. di0d_
    Ответов:
    1
    Просмотров:
    432
Статус темы:
Закрыта.

Поделиться этой страницей