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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение файлов и обработка строк в цикле, прочитать адрес (строку)и отправить пост 
:(
    Опции темы
arashvg
Дата 12.7.2009, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди есть текстовый файл в которм в каждой строке записан адрес сайта

и есть процедура риправки пост запроса 

Код

 <?php
         $url = "http://www.amazon.com/exec/obidos/search-handle-form/002-5640957-2809605";
         $ch = curl_init();  // инициализируем сессию curl
         curl_setopt($ch, CURLOPT_URL,$url); // указываем URL, куда отправлять POST-запрос
         curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// разрешаем перенаправление
         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указываем, что результат запроса следует передать в переменную, а не вывести на экран
         curl_setopt($ch, CURLOPT_TIMEOUT, 3); // таймаут соединения
         curl_setopt($ch, CURLOPT_POST, 1); // указываем, что данные надо передать именно методом POST
        curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // добавляем данные POST-запроса
       $result = curl_exec($ch); // выполняем запрос
      curl_close($ch); // завершаем сессию
       echo $result;
      ?>



как сделать чтобы скрипт в цикле считывал адреса с файла и отправлял пост за прос на каждый адрес???
PM MAIL WWW   Вверх
Staind
Дата 12.7.2009, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Построчно читаем файл посредством функции fgets.
Получится что-то типа:
Код

<?php
$handle = fopen("/tmp/inputfile.txt", "r");
while (!feof($handle)) {
  $buffer = fgets($handle, 4096);

  $url = $buffer;
  $ch = curl_init();  // инициализируем сессию curl
  curl_setopt($ch, CURLOPT_URL,$url); // указываем URL, куда отправлять POST-запрос
  curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// разрешаем перенаправление
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указываем, что результат запроса следует передать в переменную, а не вывести на экран
  curl_setopt($ch, CURLOPT_TIMEOUT, 3); // таймаут соединения
  curl_setopt($ch, CURLOPT_POST, 1); // указываем, что данные надо передать именно методом POST
  curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // добавляем данные POST-запроса
  $result = curl_exec($ch); // выполняем запрос
  curl_close($ch); // завершаем сессию
  echo $result;
}
fclose($handle);
?>

--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
patap
Дата 12.7.2009, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



функция file() сделает тебе массив, ну а там дальше все понятно, цикл и т.д.

Это сообщение отредактировал(а) patap - 12.7.2009, 17:36


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
arashvg
Дата 12.7.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Staind @  12.7.2009,  17:32 Найти цитируемый пост)
Построчно читаем файл посредством функции fgets.
Получится что-то типа:



выдает ошыбку Parse error: syntax error, unexpected $end in /home/filmokin/public_html/seo/1.php on line 20
PM MAIL WWW   Вверх
patap
Дата 12.7.2009, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

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



Код

<?php
$data = file("/tmp/inputfile.txt");
$col = count($data);

for ($i = 0; $i < $col; $i++) {

  $url = $data[$i];
  $ch = curl_init();  // инициализируем сессию curl
  curl_setopt($ch, CURLOPT_URL,$url); // указываем URL, куда отправлять POST-запрос
  curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// разрешаем перенаправление
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указываем, что результат запроса следует передать в переменную, а не вывести на экран
  curl_setopt($ch, CURLOPT_TIMEOUT, 3); // таймаут соединения
  curl_setopt($ch, CURLOPT_POST, 1); // указываем, что данные надо передать именно методом POST
  curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // добавляем данные POST-запроса
  $result = curl_exec($ch); // выполняем запрос
  curl_close($ch); // завершаем сессию
  echo $result;
}
?>



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
arashvg
Дата 13.7.2009, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(patap @  12.7.2009,  17:45 Найти цитируемый пост)
код PHP
<?php
$data = file("/tmp/inputfile.txt");
$col = count($data);
for ($i = 0; $i < $col; $i++) {
  $url = $data[$i];
  $ch = curl_init();  // инициализируем сессию curl
  curl_setopt($ch, CURLOPT_URL,$url); // указываем URL, куда отправлять POST-запрос
  curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// разрешаем перенаправление
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // указываем, что результат запроса следует передать в переменную, а не вывести на экран
  curl_setopt($ch, CURLOPT_TIMEOUT, 3); // таймаут соединения
  curl_setopt($ch, CURLOPT_POST, 1); // указываем, что данные надо передать именно методом POST
  curl_setopt($ch, CURLOPT_POSTFIELDS, "url=index%3Dbooks&field-keywords=PHP+MYSQL"); // добавляем данные POST-запроса
  $result = curl_exec($ch); // выполняем запрос
  curl_close($ch); // завершаем сессию
  echo $result;
}
?>


 на 99% сайтов из списка дает ошыбку 

nginx/0.6.32
400 Bad Request




Это сообщение отредактировал(а) arashvg - 13.7.2009, 09:43
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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