在PHP中,检查大量远程文件中某个文本的最快执行方式是什么?

在PHP中,检查大量远程文件中某个文本的最快执行方式是什么?,php,file,stream,Php,File,Stream,我想检查约300k个网页的列表,如果它们包含特定文本(例如“不可用”)。这应该每天都做 在PHP中实现这一点的最佳方法是什么 我可以使用fread&fopen逐行阅读页面,如果一行包含文本,则转到下一个url 另一个选择是使用cURL,它应该比fread快,但是我不确定是否可以打开一个流并逐行读取页面,或者我必须下载整个文件,然后检查文本 还有其他(更好的)选择吗 什么在速度上表现最好?我有一个脚本,它可以做与您提到的类似的事情,我发现fread比curl进程更可靠、更快,尤其是当页面中有媒体时

我想检查约300k个网页的列表,如果它们包含特定文本(例如“不可用”)。这应该每天都做

在PHP中实现这一点的最佳方法是什么

我可以使用fread&fopen逐行阅读页面,如果一行包含文本,则转到下一个url

另一个选择是使用cURL,它应该比fread快,但是我不确定是否可以打开一个流并逐行读取页面,或者我必须下载整个文件,然后检查文本

还有其他(更好的)选择吗


什么在速度上表现最好?

我有一个脚本,它可以做与您提到的类似的事情,我发现fread比curl进程更可靠、更快,尤其是当页面中有媒体时。我推荐弗雷德

我刚刚在curl中读到了Simultaneos http请求:。这是一个好的选择吗?对于这样的事情。。。我很想说你的生意做得不对。你为什么每天都要为一个字符串刮30万页呢?将其删除,存储内容的散列,然后检查已更改的散列,并仅重新扫描这些页面。只是说…@EliasVanOotegem我不知道页面是否被更改了。我很想用一种更有效的方法,但我不知道你在这种情况下是怎么做的。你能详细说明一下吗?嗯,使用for one,然后不搜索整个页面的内容,只需在文件中读取一次,然后存储
sha1($contents)校验和,下次:如果存储的校验和与您获取的内容相同,您可以放心地假设内容没有更改。这就省去了为将来的访问者检查已经处理过的内容的很多麻烦:我现在正在使用lib,它支持异步请求。应该是最快的解决方案。谢谢你的回答。根据你的经验,你还有其他建议吗?我最好的办法是两种方法都尝试一下,同时计算一下时间,看看哪一种更快,另一方面,你到底想做什么?我是说这个节目是为了什么?我这样问是因为可能还有其他的方法?