Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как организвать?


Автор: CyClon 5.3.2006, 21:43
В общем у меня задача написать скрипта-робота. У меня есть .txt файл, в котором есть примерно такие строки:

Код
1|1|http://top.slaed.net|Система автоматического обмена ссылками SLAED ASER|1|20060305
2|1|http://othersclan.ru|Сайт темного клана Others (БК)|1|20060305


И так далее... Последнее значение - дата последнего обвноления.

В общем мне нужен скрипт, кототорый будет:

1. Открывать все URL-ы сайтов из списка с до GET-запросом. Т.е. мне нужно проверяить наличие самого модуля на сайте. Вопрос: Как организовать? Я думаю fopen, но не дает мне покоя слово сокеты...
2. Открывать случайный линк на странице с маской -= http://адрес_сайта/index.php?name=Имя =-. Т.е. что мне нужно? Мне нужно открыть любую ссылку с данного сайта (На таких сайтах навигация идет через ?name=) и проверять HTML-код на наличие <a href="ссылка на модуль">.

Кто знаешь, как это сделать? В принципе на счет первогопункта я догадываюсь:

Код
<?php

$module = "http://site.ru/index.php?name=ASER.php";

$file = file($module);

if ($file)
{
    foreach ($file as $string)
    {
        if eregi($module, $string)
        {
            $check = true;
            break;
        }
    }
}

?>


Т.е я открываю файл, если он открываетя прохожу каждую его строку и проверяю наличие ссылки на модуль. Если ссылка есть - создаю переменну с значение true и останавливаю цикл. Нормально? Или есть вариант быстрее и проще?

А вот на сеч второго пункта хотел бы вас спросить... Как да что... Мне нужно как-то извлечь ссылку на случаную страницу... В общем пока писал сам запутался млин ;)

Автор: Ciber SLasH 5.3.2006, 23:08
Зачем здесь eregi, если ты не используеши регулярки? В твоём случае будет достаточно:
Код

if (strnatcasecmp($file, $string) == 0)

Автор: CyClon 6.3.2006, 14:41
А я о этой функции даже не знал ;) Блин, не ule вы про ни вычитали, в книжках одни eregi smile
Добавлено @ 14:42
Хех, ведь это функция сравнения трок, а мне нужно не сравнивать, а искать в строке.

Автор: Ciber SLasH 7.3.2006, 02:20
Цитата(CyClon @ 6.3.2006, 14:41 Найти цитируемый пост)
А я о этой функции даже не знал ;)

Топаем на php.net и качаем мануал, там есть и на русском (я себе CHM-формат скачал).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)