Использование fopen дважды

Я хотел бы открыть 2 url используя open

$url = 'http://xtreme-jumps.eu/demos.txt'; $url2 = 'http://cosy-climbing.net/demoz.txt'; 

Что-то вроде этого … но это не работает

 $handle = @fopen($url, "r"); $handle .= @fopen($url2, "r"); 

Мне нужно присоединиться к ним, потому что позже я буду искать там

 if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); if(strpos($buffer, $map) !== FALSE) $matches[] = $buffer; } fclose($handle); } 

благодаря

Solutions Collecting From Web of "Использование fopen дважды"

Вы можете попробовать что-то вроде этого:

 $handles=array(); $handles[]=@fopen($url, "r"); $handles[]=@fopen($url2, "r"); foreach($handles as $handle){ while (!feof($handle)) { $buffer = fgets($handle); if(strpos($buffer, $map) !== FALSE) $matches[] = $buffer; } fclose($handle); } 

или лучше:

 $urls=array( 'http://xtreme-jumps.eu/demos.txt', 'http://cosy-climbing.net/demoz.txt' ); foreach($urls as $url){ $handle=@fopen($url, "r"); while (!feof($handle)) { $buffer = fgets($handle); if(strpos($buffer, $map) !== FALSE) $matches[] = $buffer; } fclose($handle); } 

Вы не можете объединять ручки. Вам нужно использовать fread() (или просто file_get_contents() ), если вы хотите фактическое содержимое файла.

Ну, нет, это не сработает, потому что handle – это ресурс, а не содержимое веб-страницы, которую вы пытаетесь открыть.

Если вы хотите присоединиться к контенту вместе, вам нужно открыть первый URL-адрес, получить контент, открыть второй и получить контент, а затем присоединиться к контенту.

Вы можете повторно использовать handle для второго открытого, если вы закончите все свои операции на первом, но вы не можете одновременно иметь один дескриптор, подключенный к двум URL-адресам. Вы, конечно, не можете этого сделать, пытаясь объединить их.

Если вы хотите одновременно обращаться к двум URL-адресам, просто используйте два разных ручка ресурса.

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