-1

ありがとう !

PHPで、Twitterユーザーが存在するかどうか知りたいです。そのために、私は url のコンテンツを回復しようとします:

$json = file_get_contents("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=".$_GET['search']);
$jsonObject = json_decode($json);

$_GET['search'] = は、URL で渡されたユーザーの名前です。

しかし、問題は、誰かが存在しないユーザー名を指定すると、エラーが発生することです。

php.net では、エラーが発生した場合、file_get_contents が false を返すと言われています。

私は条件でやろうとしました:

if(file_get_contents("http://api.twitter.com/1/statuses/user_timeline.json?screen_name=".$_GET['search']) != false){
    // do my stuff 
}
else{
    // say that this username don't exists
}

しかし、このコードを試すと、次のような大きなオレンジ色の警告コードが表示されました。

Warning: file_get_contents(http://api.twitter.com/1/statuses/user_timeline.json?screen_name=A_Wrong_User_Name) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP

したがって、エラーを削除して、Twitter ユーザーが存在するかどうかを確認できます。存在する場合はfile_get_contentsでページの内容を取得したい、存在しない場合はユーザーが存在しないことを表示したい。

手伝ってくれてありがとう !

4

1 に答える 1

0

次の代わりに CURL を使用する必要がありますfile_get_contents

<?php
 $username = "user";

 $url="http://api.twitter.com/1/users/show/".$username.".xml";

 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_URL, $url);
 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20);
 curl_setopt($ch, CURLOPT_NOBODY, 1);
 curl_setopt($ch, CURLOPT_HEADER, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

 curl_exec($ch);
 $header = curl_getinfo($ch, CURLINFO_HTTP_CODE);
 curl_close($ch);

 if( $header == "404" )
 {
 //it does not exist
 }else{
 //it exists
 }
于 2012-05-04T12:18:47.573 に答える