私はphpクローラーを開発しており、ページ内のリンクのhrefをすべて取得できます。次のようなファイル ダウンロード リンクの URL をデータベースに保存したくありません。
http://www.example.com/folder1/thefile.exe
http://www.example.com/folder1/download.php?id=1
http://www.example.com/folder1/thefile.zip
http://www.example.com/folder1/thefile.extension
またはその他の拡張子。
これは私の有効な関数であり、ここでは is_file() 関数が役に立たないことを知っています。
protected function isValid($url)
{
$isJavascript = strpos(strtolower($url), 'javascript:') !== false; // remove javascript links
$isEmail = strpos(strtolower($url), 'mailto:')!==false; // remove mailto links
if($isEmail || $isJavascript)
return false;
if(is_file($url)){
echo "is file<br>";
return false;
} else echo "is not file<br>";
if (strpos($url, $this->_host) === false
|| $this->isSeen($url)
) {
return false;
}
return true;
}
ここで私の質問は次のとおりです。ファイルのダウンロードを引き起こす URL を検出するにはどうすればよいですか?