我对cURL很陌生,所以我已经纠结了好几个小时了。我试着用cURL在iframe中下载一个网站的源代码,并在加载的时候显示加载了多少。到目前为止,我已经成功下载了源代码,但没有显示加载进度。你能解释一下如何显示下载进度吗?如果没有cURL,我会一个字节一个字节地读取文件,然后用下载的字节总数除以文件的总大小。既然cURL读取的是整个源代码,那么在cURL中如何做到这一点呢?(至少我认为这是唯一的方法,不确定)以下是我目前得到的结果:
/* Download source */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $adress);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$html = curl_exec($ch);
curl_close($ch);
4条答案
按热度按时间yizd12fk1#
你需要的是
6rqinv9w2#
下面是回调在C中的显示:
在PHP中,它可能看起来像
因此,假设您有page.html,它在iframe中加载一个.php文件。
在您的php脚本中,您将需要以下函数:
这将生成类似于以下内容的输出:
然后在iframe页面上,您将看到一个进度条
CSS应该是这样的
JavaScript脚本
您可以让它输出JavaScript并为您更新进度条,例如:
您可能会对更多example code感兴趣
lyfkaqu13#
若要在类别内使用回呼,您必须这样做:
或者如果使用静态函数,则如下所示:
...调用回调函数以执行任何需要的操作:
d8tt03nd4#
我的Web服务器上的刷新有问题。我通过添加以下内容解决了该问题:
在flush()之前,ob_flush()。