Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Получение всех страниц (по списку) с удаленного хоста .
 
 автор: dima2207   (04.01.2008 в 20:14)   письмо автору
 
 

Всем привет !
проблемма такаго рода : когда я пытаюсь получить все страницы с удаленного хоста , то выводится только первая ( цыкл прерывается ) Почему ?
где я ошибся ?

<?
set_time_limit
(0);

$host "www.mysyte.ru";
$path "/video_list.php?vg=280&fp=0";

if ( !
$buffer getdata($host$path) ) {
    exit(
"Ошибка");
                   }
$pattern "#<a[^>]*href=['\"]?([^\"'\s>]+)['\"]?[^>]*>#is";
preg_match_all($pattern$buffer,  $matches);// Получаем список всех ссылок 
$str $matches;
//----------------------------------------------------------
 
$i=0;
 for(
$iu 45$iu < (count($str[1])-6); $iu++)//Отбрасываем ненужные ссылки
 
{
 
$i++;
 
$topic[$i]=$str[1][$iu];
 } 
//----------------------------------------------------------
  
foreach($topic as $index => $val)
   {
$host "www.mysite.ru";
$path "/".$val;
if ( !
$buffer getdata($host$path) ) {
    exit(
"Ошибка");   }

  print 
$buffer;


  }

// функция получения страницы с удаленного хоста.
function getdata($host$path)
{
     
$buffer true;
     
$fp = @fsockopen("tcp://".$host80$errno$errstr10);
     if (!
$fp) {
         return 
false;
     } else {
         
$out  "GET $path HTTP/1.1\r\n";
         
$out .= "Host: $host\r\n";
         
$out .= "Referer: $host$path\r\n";
         
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n";
         
$out .= "Connection: Close\r\n";
         
$out .= "\r\n";

         
fwrite($fp$out);
         while (!
feof($fp)) {
             
$buffer .= fgets($fp1024);
         }
         
fclose($fp);
     }
     return 
$buffer;
}
?>

   
 
 автор: cheops   (05.01.2008 в 14:38)   письмо автору
 
   для: dima2207   (04.01.2008 в 20:14)
 

Выведите содержимое массива $topic - в нём больше одной ссылки?
<?php
  
echo "<pre>";
  
print_r($topic);
  echo 
"</pre>";
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования