поиск файлов на сайте и копирование их в массив - PullRequest
1 голос
/ 12 июля 2011

Я хочу найти * .rules с этого сайта http://cvs.snort.org/viewcvs.cgi/snort/rules/

и скопировать строки файлов в массив

как я могу это сделать?например:

$array=array('backdoor.rules','bad-traffic.rules');

Я могу использовать

$str=file_get_contents( 'http://cvs.snort.org/viewcvs.cgi/snort/rules');

, но как мне искать?

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

1.Получить содержимое

$contents = file_get_contents('http://cvs.snort.org/viewcvs.cgi/snort/rules/');

2.Найдите и поместите найденные файлы в $matches[1]

preg_match_all('/href="([^"]+\.rules)"/', $contents, $matches);

3.Делайте что-нибудь с массивом

$matches[1];
0 голосов
/ 12 июля 2011

Вам нужно использовать регулярное выражение для получения любых совпадений с источником

    $url = 'http://cvs.snort.org/viewcvs.cgi/snort/rules/';
    $contents = file_get_contents($url);
    //Regex to match any links that have .rule in it
    preg_match_all('/<a href="([^"]+\.rules[^"]*)">/i', $contents, $result, PREG_PATTERN_ORDER);
    foreach ($result[1] as $link) {
        //Fetch the link and save
    }

Этот код извлекает содержимое веб-страницы и запускает регулярное выражение, которое соответствует любой ссылке, содержащей в себе .rules..

Внутри цикла вы можете сохранить файлы (используя file_get_contents, а затем fopen , fwrite и fclose )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...