2011-03-07 41 views
1
$query = 'SELECT * FROM `chat` LIMIT 0, 24334436743;'; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)) { 
$URL = $row['url']; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"$URL"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
//curl_setopt($ch, CURLOPT_POSTFIELDS, "user=unrevoked clarity&randominfo=hi"); 
curl_exec ($ch); 
curl_close ($ch); 
    } 





//curl_close ($ch); 
} 

好吧,上面的代碼片段是我從數據庫中拉出一大堆URL,我試圖向它們中的每一個發送數據。但它似乎把頁面疊起來(即使只有一個或兩個URL)。有沒有內置的系統來處理這個或什麼?cUrl多個URL打開

+1

您可以使用ajax請求將其分解,以便您的頁面可以響應並在請求完成時加載結果/進度。 – Jacob 2011-03-07 02:26:39

+0

我在寫一個聊天腳本,但所有節點都在不同的服務器上。基本節點命中此腳本分配給其他節點的此腳本。沒有辦法繞過它 – Michael 2011-03-07 02:59:12

回答

0

您可以使用curl_multi_*() functions初始化多個請求,然後讓它們一次全部發送。可以彙集多少個請求可能有限制。並且總體處理時間將與最慢的連接/服務器一樣長。

所以你的方法(很多很多網址一次)仍然存在問題。也許你可以重寫它來在瀏覽器中執行處理,用一些視覺反饋啓動多個AJAX請求。

0

從網絡請求URL是一項代價昂貴的操作,即使下載了一些,也會明顯增加頁面的延遲。你能緩存數據庫中的頁面內容嗎?你需要下載網址嗎?你可以讓客戶端使用iframe嗎?