【发布时间】:2013-07-13 08:44:54
【问题描述】:
我有一个网站抓取项目。看这段代码:
<?php
include('db.php');
$r = mysql_query("SELECT * FROM urltable");
$rows= mysql_num_rows($r);
for ($j = 0; $j <$rows; ++$j) {
$row = mysql_fetch_row($r);
$html = file_get_contents(mysql_result($r,$j,'url'));
$file = fopen($j.".txt", "w");
fwrite($file,$html);
fclose($file);
}
?>
我有一个网址列表。此代码意味着,使用每个 url 中的内容(HTML)制作文本文件。
运行这段代码时,我每秒只能制作一个文件[每个文件大小~20KB]。我的互联网提供 3mbps 的下载速度,但我无法通过此代码使用该速度。
如何加快file_get_contents() 的速度?或者如何使用线程或配置 php.ini 文件或任何其他方法加速此代码?
【问题讨论】:
-
您好,为了以后参考,永远记得先谷歌!搜索
php speed up file_get_contents()会返回一堆有用的结果,包括 Stack Overflow 上的许多结果。 -
1 秒限制可能与 DNS 有关,因此无法解决。见stackoverflow.com/q/7987584/258674
标签: php performance download file-get-contents