PHP CURL保存多个XML url链接?

问题描述:

我试图保存3个XML URL链接写入它们的本地xml缓存副本。但有2个XML url链接参数后传递?根本没有储蓄?PHP CURL保存多个XML url链接?

只有allteams.xml被保存到multicache文件夹中,而其他2个url不会被保存?

必须有更好的方法来做到这一点?

<?php 

$urls=array(
'http://remotedomain.com/api/team.xml?id=12', 
'http://remotedomain.com/api/allteams.xml', 
'http://remotedomain.com/api/allmembers.xml?limit=1000&id=12'); 

$save_to='multicache/'; 

$mh = curl_multi_init(); 
foreach ($urls as $i => $url) { 
    $g=$save_to.basename($url); 
    if(!is_file($g)){ 
     $conn[$i]=curl_init($url); 
     $fp[$i]=fopen ($g, "w"); 
     curl_setopt ($conn[$i], CURLOPT_FILE, $fp[$i]); 
     curl_setopt ($conn[$i], CURLOPT_HEADER ,0); 
     curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,60); 
     curl_multi_add_handle ($mh,$conn[$i]); 
    } 
} 
do { 
    $n=curl_multi_exec($mh,$active); 
} 
while ($active); 
foreach ($urls as $i => $url) { 
    curl_multi_remove_handle($mh,$conn[$i]); 
    curl_close($conn[$i]); 
    fclose ($fp[$i]); 
} 
curl_multi_close($mh); 
?> 

感谢

嗯,怎么样的一些技术含量低的解决方案:

foreach ($urls as $url) 
{ 
    copy($url, $save_to . basename($url)); 
} 

不卷曲,只是一些基本的PHP流。

我不确定is_file()业务,如果您想检查文件是否存在,请使用file_exists()