cUrl打开多个URL

时间:2011-03-07 02:20:12

标签: php mysql curl

$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发送数据。但它似乎打破了页面(即使只有一个或两个URL)。是否有内置系统来处理这个或什么?

2 个答案:

答案 0 :(得分:0)

从网络请求URL是一项昂贵的操作,即使下载少量也会显着增加页面的延迟。你可以在数据库中缓存页面的内容吗?你必须下载URL;你可以让客户端使用iframe吗?

答案 1 :(得分:0)

您可以使用curl_multi_*() functions初始化多个请求,然后一次性发送所有请求。可以合并多少请求可能存在限制。整个处理时间将与最慢的连接/服务器一样长。

所以你的方法(同时有很多URL)仍然存在问题。也许你可以重写它来在浏览器中进行处理,通过一些视觉反馈启动多个AJAX请求。