PHP技术问题:如何使用for循环读取文件行内容?
修改PHP代码:从文本文件读取内容生成循环链接
我懂你要替换掉原来固定的1-10数字循环,改成从readinfo.txt里读取每一行内容来生成对应的请求链接对吧?原来的代码是循环数字拼接URL,现在要换成用文件里的关键词(比如sport、news、cartoon)来生成http://website.com/[关键词]这类地址,下面是修改后的代码:
<?php $file = "readinfo.txt"; // 读取文件并按行分割为数组,自动忽略换行符和空行 $keywords = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // 先检查文件是否读取成功 if ($keywords === false) { echo "无法读取文件 readinfo.txt<br>"; return; } // 遍历每个关键词处理请求 foreach ($keywords as $keyword) { $targetUrl = "http://website.com/" . $keyword; $content = @get_file($targetUrl); if ($content === false) { echo "获取内容失败:" . $keyword . "<br>"; } else { echo "成功获取:" . $keyword . "<br>"; } ob_flush(); flush(); } ?>
关键修改说明:
- 用
file()函数直接读取文件内容并转为数组,FILE_IGNORE_NEW_LINES会去掉每行末尾的换行符,FILE_SKIP_EMPTY_LINES会自动跳过文件里的空行,避免处理无效内容 - 把原来的
for数字循环换成foreach遍历关键词数组,更贴合需求 - 拼接URL时直接用读取到的关键词替换原来的数字变量
$i - 增加了文件读取失败的判断逻辑,让代码更健壮,不会在文件打不开的时候直接往下跑
内容的提问来源于stack exchange,提问作者user9782404
相关产品推荐
相关产品推荐

