2011-12-19 4 views
0

私はいくつかのリンクを、いくつかはrapidshareに、そしていくつかは他のアップロードホスト上にあります。 リンク上のファイルがまだ動作しているかどうかを確認するにはどうすればよいですか?phpでホストからのリンクを確認する

私はcurlとfile_get_contentsを試しました。 curlが動作していて、他のfile_get_contentsが動作していますが、ほとんどがページソースコードを返さないため、 "Deleted"などの文字列を検索できません。

これを行う方法はありますか?

EDITED:ここに新しいコードが、まだ動作しません。

function curl_download($Url){ 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $Url); 
$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; 
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch,CURLOPT_VERBOSE,false); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch,CURLOPT_SSLVERSION,3); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_TIMEOUT, 0); 
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); 
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); 
$output = curl_exec($ch); 
curl_close($ch); 
return $output; 
+0

をあなたのコードは何ですか?彼らは何を返しますか? –

答えて

2
 
function Visit($url){ 
     $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"; 
     $ch=curl_init(); 
     curl_setopt ($ch, CURLOPT_URL,$url); 
     curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt ($ch,CURLOPT_VERBOSE,false); 
     curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
     curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); 
     curl_setopt($ch,CURLOPT_SSLVERSION,3); 
     curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); 
     $page=curl_exec($ch); 
     //echo curl_error($ch); 
     $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
     curl_close($ch); 
     if($httpcode>=200 && $httpcode<300) return true; 
     else return false; 
} 
if (Visit("http://www.google.com")) 
     echo "Website OK"."n"; 
else 
     echo "Website DOWN"; 

+0

それは仕事をするだろうが、それは少し上に見える。 [CURL](http://php.net/manual/en/book.curl.php)は確かに答えですが、 – adlawson

+0

コメントありがとうございます。 まだ、それは動作しません。 一部のホストのソースコードを取得しないか、ソースコードの一部を取得するだけです。 "Deleted"という単語を検索するには、ソース全体を取得する必要があります。 – user1104615

+0

@userトリックは、HTTPレスポンスコードを調べることです。ファイルがなくなった場合、ホスト*は404コードなどで応答する必要があります。実際のページコンテンツを見る必要はありません。これらのサイトが実際にそのように動作するかどうかは、異なる質問です。 – deceze

関連する問題