2014-10-06 76 views
0

我正在嘗試使用curl將多個捲髮帖子執行到一個URL。我有一個頁面,其中包含一個URL和一個textarea框的字段,我可以將多個電子郵件(分隔線)發佈到該URL。使用curl_multi的多個捲曲帖子

這是我的代碼。

<?php 
    $url = $_POST['url'];  
    $text = trim($_POST['emails']); 
    $text = nl2br($text); 
    $text = explode("\n", $text);  
    foreach($text as $i => $text) { 
     $fields = array(
     'u' => urlencode('0000'), 
     'id' => urlencode('0000'), 
     'FIELD0' => urlencode($text), 
     'FIELD1' => urlencode('First'), 
     'FIELD2' => urlencode('Last') 
     );  
     $fields_string = ""; 
     foreach($fields as $key=>$value) { 
      $fields_string .= $key.'='.$value.'&'; 
     } 
     rtrim($fields_string, '&');  
     $mh = curl_multi_init(); 
     $ch[$i] = curl_init(); 
     curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER, 1); 
     curl_multi_add_handle($mh, $ch[$i]);  
     curl_setopt($ch[$i],CURLOPT_URL, $url); 
     curl_setopt($ch[$i],CURLOPT_POST, count($fields)); 
     curl_setopt($ch[$i],CURLOPT_POSTFIELDS, $fields_string);  
     $result = curl_exec($ch[$i]); 
     curl_close($ch[$i]);  
    }  
?> 

目前的情況是,如果我把一個電子郵件到我的領域,它的工作原理。但是,當我將多封電子郵件放入該字段時,它只會發佈最後一封電子郵件。有人可以幫忙嗎?

回答

1

這是因爲這一點:$text = nl2br($text);

它創建無效的電子郵件地址,這與<br />結束。只有最後一個是有效的,因爲你不輸入新行。

+0

好的,那麼我怎樣才能從textarea中獲得每一行並通過我的循環提供它?我正在看這篇文章的指導,這是我得到我以前的代碼從:http://stackoverflow.com/questions/3702400/get-each-line-from-textarea – 2014-10-06 08:46:52

+0

只需刪除線,就是它。它搞亂了你的輸入。 – Marek 2014-10-06 08:49:08