我尝试使用 file_exists(URL/robots.txt) 来查看该文件是否存在于随机选择的网站上,但我得到了错误的响应;
如何检查 robots.txt 文件是否存在?
我不想在我检查之前开始下载。
使用 fopen() 可以解决问题吗?因为:成功时返回文件指针资源,错误时返回 FALSE。
我想我可以这样说:
$f=@fopen($url,"r");
if($f) ...
我的代码:
http://www1.macys.com/robots.txt 也许不存在 http://www.intend.ro/robots.txt 也许不存在 http://www.emag.ro/robots.txt 也许不存在那里 http://www1.bloomingdales.com/robots.txt 也许它不在那里
try {
if (file_exists($file))
{
echo 'exists'.PHP_EOL;
$curl_tool = new CurlTool();
$content = $curl_tool->fetchContent($file);
//if the file exists on local disk, delete it
if (file_exists(CRAWLER_FILES . 'robots_' . $website_id . '.txt'))
unlink(CRAWLER_FILES . 'robots_' . $website . '.txt');
echo CRAWLER_FILES . 'robots_' . $website_id . '.txt', $content . PHP_EOL;
file_put_contents(CRAWLER_FILES . 'robots_' . $website_id . '.txt', $content);
}
else
{
echo 'maybe it\'s not there'.PHP_EOL;
}
} catch (Exception $e) {
echo 'EXCEPTION ' . $e . PHP_EOL;
}