Используя file_get_contents с массивом? - PullRequest
0 голосов
/ 06 августа 2011

довольно простой сценарий; У меня есть массив введенных пользователем URL-адресов (может быть любым числом от 1 до 1000+), и я хочу выполнить file_get_contents(); для всех из них, а затем, если это возможно, объединить все эти связанные / связанные в одну переменную, так что preg_match_all(); может быть выполнено для этой переменной, чтобы подобрать определенные строки.

Я слышал, что использование cURL может быть другим вариантом, однако я очень мало знаю о функции cURL.

Ответы [ 2 ]

3 голосов
/ 06 августа 2011

На самом деле это звучит как работа для перебора URL:

$urls = array('http://www.example.com/');
$allTexts = '';
foreach($urls as $url)
{
    $text = file_get_contents($url);
    if (false === $text)
        continue;

    // proceed with your text, e.g. concatinating it:
    $allTexts .= $text;
}

Однако, если у вас есть тысячи URL, не торопитесь. curl предлагает запрашивать несколько URL-адресов одновременно ( функция множественных запросов ), однако, с тысячами URL-адресов, которые также не масштабируются.

1 голос
/ 06 августа 2011

Используйте array_map , чтобы применить функцию к каждому элементу массива

implode('',array_map('file_get_contents',$array));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...