【发布时间】:2019-05-02 02:41:55
【问题描述】:
我有以下 PHP 代码:
<?php
$file = "Links.txt";
$parts = new SplFileObject($file); // this is your array of words
foreach($parts as $word) {
$content = file_get_contents($word);
parse_str($content, $ytarr);
echo $ytarr['title'];
unset($content);
}
?>
请注意:
- Links.txt 文件包含多个外部 URL,每一行只有一个 URL。示例:
www.External-URL-number-ONE.com
www.External-URL-number-TWO.com
www.External-URL-number-THREE.com
- 每个 URL 在变量 $content 中都有 'title' 项(在使用“file_get_contents($word);”填充之后。
- 出于故障排除的目的,我通过将每个 URL 添加到“links.txt”单中来测试每个 URL。结果是每个 URL 都成功。如果我添加多个 URL,就会出现问题。在这种情况下,行为是:
错误信息和结果:
注意:未定义索引:第 13 行 C:\xampp\htdocs\PHPexample\index.php 中的标题
显示“www.External-URL-number-THREE.com”的标题
我该如何解决这个问题?它也应该适用于多行。
提前致谢。
编辑:
变量$content的内容为:
数组(
[reason] => Invalid parameters. [status] => fail [errorcode] => 2)
数组(
[ISD] => 928398 [enable] => 1 [list] => 39/9339/30 [AMP] => [host] => [title] => This_Is_the_Title_Three [token] => 1)
更新
我使用 isset() 在访问数组之前检查它。并且每个循环只有最后一个有索引。
【问题讨论】:
-
$content的内容是什么?我不明白为什么 parse_str 可能是这里的正确选择。 -
“每个 url 在内容文件内容中都有标题项” - 采用什么形式/语法?
-
@Jeff $content 是通过访问 URL 读取的文件内容。但如上所述,它适用于每个 URL。仅当“Links.txt”文件包含多个 URL 时才会出现该错误。
-
你能给我一个链接让我看看吗?
-
是的,要查看结构和编码... list.txt 中的 URL 有前缀“http://”?