2012-10-08 122 views
0

我有一個大的陣列URLS的類似於此指定與捲曲/ PHP多個網址:使用方括號

$nodes = array(
    'http://www.example.com/product.php?page=1&sortOn=sellprice', 
    'http://www.example.com/product.php?page=2&sortOn=sellprice', 
    'http://www.example.com/product.php?page=3&sortOn=sellprice' 
); 

cURL手冊指出這裏(http://curl.haxx.se/docs/manpage .html),我可以使用方括號'[]'來指定多個網址。在上面的例子中使用這將是類似於此:

'http://www.example.com/product.php?page=[1-3]&sortOn=sellprice' 

到目前爲止,我一直無法正確引用此。這是完整的代碼段我目前正試圖與利用這樣的:

$nodes = array(
    'http://www.example.com/product.php?page=1&sortOn=sellprice', 
    'http://www.example.com/product.php?page=2&sortOn=sellprice', 
    'http://www.example.com/product.php?page=3&sortOn=sellprice' 
); 

$node_count = count($nodes); 

$curl_arr = array(); 
$master = curl_multi_init(); 

for($i = 0; $i < $node_count; $i++) 
{ 
    $url =$nodes[$i]; 
    $curl_arr[$i] = curl_init($url); 
    curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true); 
    curl_multi_add_handle($master, $curl_arr[$i]); 
} 

do { 
    curl_multi_exec($master,$running); 
} while($running > 0); 

echo "results: "; 
for($i = 0; $i < $node_count; $i++) 
{ 
    $results = curl_multi_getcontent ($curl_arr[$i] ); 
    echo($i . "\n" . $results . "\n"); 
echo 'done'; 

我似乎無法找到任何這更多的文檔。提前致謝。

回答

0

鏈接的文檔是cURL命令行二進制文件的手冊頁,並且不是適用於libcurl,這是PHP使用的文檔。如果您想在PHP中同時檢索多個URL,正確的方法是使用curl_multi_*函數,因爲您似乎基於您展示的代碼示例瞭解了這些功能。

+0

謝謝,我將繼續研究curl_multi_ *函數以改進我的代碼。 –