У вас абсолютно неверно сделан мультикурл, читайте примеры на оф сайте, вот пример: PHP: <?php // create both cURL resources $ch1 = curl_init(); $ch2 = curl_init(); // set URL and other appropriate options curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/"); curl_setopt($ch1, CURLOPT_HEADER, 0); curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/"); curl_setopt($ch2, CURLOPT_HEADER, 0); //create the multiple cURL handle $mh = curl_multi_init(); //add the two handles curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $active = null; //execute the handles do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } //close the handles curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); ?> Свою ошибку думаю увидите.
Доброго времени! Имеется строчка: $str = "bla bla bla.... bla address: addr1 address: addr2 ... address: addrn bla bla bla..."; Помогите пож-ста средствами preg_match/preg_replace выдрать все комбинации "address: addr". Спасибо!
ммм... а можно плиз еще подробнее? Вот есть у меня на http://site1.com/index.php.php такая форма: <form action=”http://site2.com/index.php.php” method=”post”> <table> <tr> <td>Name</td> <td><input type=”text” name=”name” /></td> </tr><tr> <td> <input type=”submit” name=”submit” value=”Submit” /></td> </tr> </table> </form> Как мне засунуть в переменные для curl значения, которые будут введены в форму? Как я понимаю, придется вставлять какую-то промежуточную страницу, чтобы сохранять переменные и потом отсылать их на site2 и site3. Проще никак нельзя? Ведь наверняка это типовая задача.
НЕ так давно , вопрос задал "где опыта набраться", сказали фриланс. Полазил сайтов куча, может кто занимается фрилансингов, могли бы зарекомендовать какойто конкретный сайт? З.Ы. Ех там такое все сложное просят Т_Т
в index.php на site1.com можешь прописать PHP: $ch = curl_init(); curl_setopt( $ch, CURLOPT_POST, true ); curl_setopt( $ch, CURLOPT_POSTFIELDS, array('name'=>$_POST['name'])); curl_setopt($ch, CURLOPT_URL, "http://site2.com/index.php"); curl_exec($ch); curl_setopt($ch, CURLOPT_URL, "http://site3.com/index.php"); curl_exec($ch); curl_close($ch); это не очень типовая задача как раз. Такое обычно если и делают то средствами ajax. Так ты нагрузишь страницу site1.com, при каждом ПОСТе она будет отправлять еще 2 пост запроса на site2.com и site3.com.
чтобы захватить крайний с конца вариант и исключить пустые, и скобки по краям не ясно зачем PHP: preg_match_all("#address:\s([^\s]+)#i",$str,$matches); $matches[1] - массив addr'ов
free-lance.ru сложно, зато будешь думать как что-то быстро и качественно сделать, дабы быть вне конкуренции скобки по краям - это подшаблон.
PHP: function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } UNIX time stamp
просто если дополнять в последствии регулярку(что вероятно), то удобнее добавить еще один подшаблон и тогда сразу же все значения будут в одном месте - в массиве $matches[x]
та даже если и так, серовно неоставляет пост PHP: <?PHP $ch1 = curl_init(); $ch2 = curl_init(); curl_setopt($ch1, CURLOPT_URL, 'http://mai1-ru.h2m.ru/wap/login.php'); curl_setopt($ch2, CURLOPT_URL, 'http://mai1-ru.h2m.ru/wap/posting.php?mode=reply&t=1'); curl_setopt($ch1, CURLOPT_POST, 1); curl_setopt($ch1, CURLOPT_NOBODY, 1); curl_setopt($ch2, CURLOPT_POST, 1); curl_setopt($ch2, CURLOPT_NOBODY, 1); curl_setopt($ch1, CURLOPT_POSTFIELDS, 'action=username=1krisa&ipassword=250792&submit=%C2%F5%EE%E4'); curl_setopt($ch2, CURLOPT_POSTFIELDS, 'action=post=lol99999999999lol&submit=Отправить'); curl_setopt($ch1, CURLOPT_COOKIEJAR, "my_cookies.txt"); curl_setopt($ch1, CURLOPT_COOKIEFILE, "my_cookies.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1); $mh = curl_multi_init(); curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $active = null; do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); ?>
qaz во-первых пропущен амперсанд: action=username=1krisa&ipassword=250792&submit=%C2%F5%EE%E4 во-вторых, как можно одновременно логиниться и оставлять пост?