ФорумПрограммированиеPHP для идиотов → Получить содержимое сетевой папки

Получить содержимое сетевой папки

  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 10:46

    Стоит задача - перебор всех файлов определенного интернет-ресурса (скажем, для индексации). Для этого пользователь вводит адрес начальной страницы (скажем, http://mail.ru), а программа должна:

    1. Открыть каталог
    2. Взять первый файл
    3. Открыть и прочитать его
    4. Перейти к следующему и т.д. (п. 3-4)

    Набросал такой уод, но видимо, это не то:

    <?php
    $_POST['url']="http://mail.ru";
    var_dump($_POST['url']);
    $cd=chdir($_POST['url']);
    $od=opendir($_POST['url']);
    $rd=readdir($_POST['url']);
    var_dump($rd);
    ?>
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 11:12, спустя 26 минут 48 секунд

    <?php
    $_POST['url']="http://mail.ru";
    var_dump($_POST['url']);
    $cd=chdir($_POST['url']);
    $od=opendir($_POST['url']);
    $rd=readdir($_POST['url']);
    var_dump($rd);
    ?>


    О_о

    с чего вы взяли, что это директории?
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 11:48, спустя 35 минут 32 секунды

    Я имел ввиду сетевые директории (на другом сервере). То есть на mail.ru есть же файл индекс.хтмл, а также другие файлы и директории. Вот их-то и надо "поддеть". Получить список директорий на сервере, перейти в них и пооткрывать файлы. В итоге надо найти и перебрать все файлы на сервере. Поисковики же это как-то делают… Это возможно?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 11:51, спустя 3 минуты 20 секунд

    они не открывают никакие директории, их вообще может не быть!
    Поисковики запрашивают документ по определенному URL, получают его, парсят ссылки и идут дальше по ним…
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 12:01, спустя 9 минут 30 секунд

    А как, не подскажете? Примерчик. Или хотя бы что почитать (доступное :)) по вопросу работы с файлами стороннего сервера?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 12:08, спустя 6 минут 47 секунд

    http://pyha.ru/forum/topic/252.0 так получаем страницы
    вытаскиваем ссылки и идем дальше по ним
    и фактически делаем вот это http://pyha.ru/forum/topic/223.30
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 13:11, спустя 1 час 3 минуты 31 секунду


    по вопросу работы с файлами стороннего сервера?

    ЭТО НЕВОЗМОЖНО.
    Читай вот это до полного просветления:
    http://www.phpfaq.ru/paths
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 13:20, спустя 8 минут 58 секунд

    Прочитал, вроде понял даже.Самый простой способ - это использование file_get_contents()
    А с возвращаемым содержимым можно потом работать как с текстом (это ведь хтмл?), то есть применять регулярные выражения и прочее?

    И про парсинг ссылок. Мы просто через те же регуляры отбираем ссылки?

    ЗЫ: Про баттл тоже прикольно (и полезно), только не понял, где можно ознакомиться с готовыми решениями, которые сделали участники форума?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 13:21, спустя 1 минуту 18 секунд


    Прочитал, вроде понял даже.Самый простой способ - это использование file_get_contents()
    А с возвращаемым содержимым можно потом работать как с текстом (это ведь хтмл?), то есть применять регулярные выражения и прочее?

    да


    И про парсинг ссылок. Мы просто через те же регуляры отбираем ссылки?

    тоже да


    ЗЫ: Про баттл тоже прикольно (и полезно), только не понял, где можно ознакомиться с готовыми решениями, которые сделали участники форума?

    завтра свой выложу
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 13:24, спустя 3 минуты 3 секунды


    Прочитал, вроде понял даже.Самый простой способ - это использование file_get_contents()
    А с возвращаемым содержимым можно потом работать как с текстом (это ведь хтмл?), то есть применять регулярные выражения и прочее?

    Да, ты понял правильно.
    Просто надо еще понимать, что не смотря на слово file в названии file_get_contents, при скармливании ей URI никакого файла не открывается, а посылается http запрос. Разработчики PHP, сделав ряд функций слишком универсальными, посеяли хаос в мозгах многих начинающих програмистов. )))
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 13:26, спустя 1 минуту 35 секунд

    md5: завтра свой выложу

    А остальные? :) Буду ждать…

    И еще вопросик - я не очень дружу с регулярными выражениями, не подскажете масочку для урлов?

  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 13:26, спустя 12 секунд



    Прочитал, вроде понял даже.Самый простой способ - это использование file_get_contents()
    А с возвращаемым содержимым можно потом работать как с текстом (это ведь хтмл?), то есть применять регулярные выражения и прочее?

    Да, ты понял правильно.
    Просто надо еще понимать, что не смотря на слово file в названии file_get_contents, при скармливании ей URI никакого файла не открывается, а посылается http запрос. Разработчики PHP, сделав ряд функций слишком универсальными, посеяли хаос в мозгах многих начинающих програмистов. )))
    тебе книги писать пора )))
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 25 апреля 2008 г. 13:28, спустя 1 минуту 28 секунд


    md5: завтра свой выложу

    А остальные? :) Буду ждать…

    И еще вопросик - я не очень дружу с регулярными выражениями, не подскажете масочку для урлов?
    остальные умерли

    масочка для урлов называется регулярное выражение и будет выложена там же
    а пока — http://pyha.ru/forum/topic/19.0
    и очень полезно — http://pyha.ru/forum/topic/181.0
    все умрут, а я изумруд
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 13:28, спустя 28 секунд



    Прочитал, вроде понял даже.Самый простой способ - это использование file_get_contents()
    А с возвращаемым содержимым можно потом работать как с текстом (это ведь хтмл?), то есть применять регулярные выражения и прочее?

    Да, ты понял правильно.
    Просто надо еще понимать, что не смотря на слово file в названии file_get_contents, при скармливании ей URI никакого файла не открывается, а посылается http запрос. Разработчики PHP, сделав ряд функций слишком универсальными, посеяли хаос в мозгах многих начинающих програмистов. )))


    Спасибо за совет. прочитал Вашу ссылку - интересно - будем копать глубже, уж очень хочется действительно понять всек тонкости PHP. Язык очень простой (по сравнению с классическими языками ООП) и это увлекает. При этом здесь масса возможностей. Классно!
  • ibizn

    Сообщения: 44 Репутация: N Группа: Кто попало

    Spritz 25 апреля 2008 г. 13:29, спустя 41 секунду

    Умерли? :(

    Не справились с заданием? :)

Пожалуйста, авторизуйтесь, чтобы написать комментарий!