Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> curl и циклы, Как можно их подружить? 
:(
    Опции темы
farrow
Дата 11.5.2008, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 3.2.2008

Репутация: нет
Всего: нет



Не возьму в толк, почему curl, запускаясь в цикле for, отдает тока данные, полученные при последнем запросе. Чтобы не говорить абстрактно, сразу покажу кусочек кода:

Код

<?php
    $url = file('C:/apache/localhost/www/папка/файл.txt'); // загружаем файл

    $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.0; us; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6";
    $count = count($url); // подсчитываем кол-во данных в массиве

    for ($i=0;$i<$count;$i++)
     {    
       $cp = curl_init($url[$i]);
       curl_setopt($cp, CURLOPT_USERAGENT, $useragent);
       curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($cp, CURLOPT_REFERER, 'http://google.com');

       $code = curl_exec($cp);
       curl_close($cp);
 // Вот тут я делаю много разных вещей с полученными данными, но курл больше не трогаю. В основном
 //- вырезаю кусочки кода и сохраняю их в БД
      }   
?>


Код делает следующее - берет файл и считывает оттуда данные в массив $url. Затем считаем, сколько он туда записал строк - это сохраняется в переменной $count. Затем идет цикл, который должен каждый раз обращаться к разным url из файла. Но он этого не делает. В итоге, я получаю инфу тока с последнего $url[$i]. И с ней все в порядке, нужные мне данные вырезаются и славненько так оказыватся в БД (это после строки curl_close($cp); происходит). Я руками прошелся по всем url из своего списка этим же скриптом, тока без цикла - никаких проблем.

Как можно подружить curl и цикл for?

Это сообщение отредактировал(а) farrow - 11.5.2008, 15:49
PM MAIL   Вверх
Fortop
Дата 11.5.2008, 17:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 1
Всего: 42



farrow
у тебя проблема с прочитанными урл из файла

перед count()

сделай вот так
Код

foreach ($url as $key => $val) {
    $url[$key] = trim($val);
}

должно помочь.

Добавлено через 1 минуту и 15 секунд
farrow, чтобы было яснее в чем проблема.
Вначале сделай 
Код

var_dump($url);
 
и посмотри на вывод.

А потом после того кода, что я тебе дал.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
farrow
Дата 12.5.2008, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 3.2.2008

Репутация: нет
Всего: нет



Fortop, огромное тебе спасибо, ты сэкономил мне кучу времени и нервов smile

Это сообщение отредактировал(а) farrow - 12.5.2008, 13:43
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0590 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.