【发布时间】:2018-11-17 13:31:52
【问题描述】:
我必须阅读大约 1 MB 的 URL html 内容,确切地说是 926 KB。 而且我已经创建了 2 个函数。
文件大小约为 1 MB 的 URL 内容:
https://example.com/html_1MB_Content.html
这是我创建的 2 个函数:
function getContent1 ($url) {
$file_handle = fopen($url, "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
echo $line;
}
fclose($file_handle);
}
function getContent2 ($url) {
$handle = curl_init($url);
curl_setopt_array($handle, array(
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
CURLOPT_ENCODING => '',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_FOLLOWLOCATION => 1
));
$curl_response = curl_exec($handle);
curl_close($handle);
return $curl_response;
}
$testUrl = 'https://example.com/html_1MB_Content.html';
$result1 = getContent1 ($testUrl);
$result2 = getContent2 ($testUrl);
我想要的是最快和更少的内存。在这种情况下哪个最好?
还有一个问题是无论如何要从下到上读取页面内容,如果发现数据停止读取?
【问题讨论】:
-
一个函数使用echo输出内容,另一个返回内容。苹果和橙子。
-
在这种情况下哪个最好? - 衡量并告诉我们
-
是的,你可能会混淆,我平时是用curl函数的,我只是在网上找到了getContent1(),然后问了这个问题。