0

我正在使用 PHP,它也是一个完整的菜鸟。

所以我有这个 URL,它接受查询并返回一个带有一些匹配项的数据文件。

说 www.example.com/search?q=$query 其中 $query 是任何搜索词。

但是,当您在浏览器中访问 URL 时,它会下载一个包含信息的文本文件。

我想遍历整个字母表和最多 10 个字母的每个字母组合,并从所有返回的文件中提取数据并将其存储在数据库中。

我不确定如何从 PHP 脚本打开每个 URL。有没有比下载每个文件并提取信息然后删除文件更好的方法?

我下面的内容根本不起作用。

$alphabet = "abcdefghijklmnopqrstuvwxyz";
for ($i=0; $i<=25; $i++){
    $query = $alphabet[$i];
    $url = "www.example.com/search?q=$query";
    $html = fopen($url);
    $stringify = (string)$html;
    echo $stringify;
}
4

2 回答 2

1

您不能只从 URL 打开文件。您需要使用 HTTP 客户端库才能获取文件。这个链接可能会派上用场:HTTP Client Library for PHP


编辑:根据亚历克斯的评论,您可能需要签allow_url_fopen入您的php.ini文件。

于 2011-02-03T02:21:34.733 回答
0
$html = fopen($url);

这是行不通的。fopen 返回文件句柄,而不是文件。您必须fread()在该文件句柄上才能实际读取数据。

你想要的是file_get_contents(),在最低限度。

于 2011-02-03T02:59:58.707 回答