Здравствуйте, есть повторяющаяся форма : HTML: <form method="post" action="http://сайт/index.php" style="margin-bottom: 0px; margin-top: 0px; padding-bottom: 0px; padding-top: 0px;"> <input type="hidden" name="formSubmitted" value="true"> <input type="hidden" name="fromBlog" value="true"> <input type="hidden" name="URL" value="http://google.ru"> <input type="text" name="email" size="20" maxlength="200" value="значение"> <input type="submit" name="submit" value="Sign Up"> </form> и есть несколько тысяч значений которых надо в нее ввести ввести. Подскажите как можно это быстро осуществить.
PHP: <?php $values = file("values.txt"); //Файл с значениями foreach($values as $v){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://сайт/index.php"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "formSubmitted=true&fromBlog=true&URL=http://google.ru&email=$v"); curl_exec($ch); curl_close($ch); } ?>
Не установлена библиотека Curl. Если Вы используете Denwer, то вот ссылка: http://parsing-and-i.blogspot.com/2009/09/curl-denwer.html
Спасибо большое. Еще вопросик- при выполнении обрабатывает несколько значений и предлагает сохранить файл index.php. Я предполагаю что он как бы начинает захлебываться, можно как то установить интервал в несколько миллисекунд между значениями?
PHP: <?php $values=file("values.txt"); //Файл с значениями $b=10; //пауза между N запросов $t=2; //задержка $count=count($values); //считаем количество значений function request($it){ //создаем функцию запроса $ch = curl_init(); //запускаем curl curl_setopt($ch, CURLOPT_URL, "http://google.com/index.php"); //устанавливаем URL curl_setopt($ch, CURLOPT_POST, 1); //Будет POST запрос curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //результат в строку curl_setopt($ch, CURLOPT_POSTFIELDS, "formSubmitted=true&fromBlog=true&URL=http://google.ru&email=$v"); //данные для запроса curl_exec($ch); //делаем запрос curl_close($ch); //закрываем curl echo $it."\n"; //выводим номер текущей итерации } for($i=0;$i<$count;$i){ //создаем цикл $it=$i++; //номер текущей итерации в переменную if($it / $b - intval($it / $b)==0){ //создаем условие в котором высчитываем кратность числа sleep($t); //задержка echo "Pause $t sec\n"; request($it); //делаем запрос }else{ request($it); //делаем запрос } } ?>
2 daniel777 Дописал: Выдает: Parse error: syntax error, unexpected T_VARIABLE, expecting ')' in C:\xampp\htdocs\rss2email1.php on line 7
После foreach($values as $v) должна идти обработка цикла. PHP: foreach($values as $v) { // что хотите делать с переменной $v }
На то она и функция что ее обозначаешь а потом в нужном месте используешь. PHP: <?php $values=file("values.txt"); //Файл с значениями $b=10; //пауза между N запросов $t=2; //задержка function request($post){ //создаем функцию запроса $ch = curl_init(); //запускаем curl curl_setopt($ch, CURLOPT_URL, "http://google.ru"); //устанавливаем URL curl_setopt($ch, CURLOPT_POST, 1); //Будет POST запрос curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //результат в строку curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //данные для запроса curl_exec($ch); //делаем запрос curl_close($ch); //закрываем curl } $i = 0; foreach($values as $post) { if(is_int(($i / $b)){ //создаем условие в котором высчитываем кратность числа echo "Pause $t sec\n"; sleep($t); //задержка request($post); //делаем запрос }else{ request($post); //делаем запрос } $i++; } ?>