if($url = file_get_contents("https://api.twitter.com/1/statuses/user_timeline.json?screen_name=".$user)){}
else die("Invalid User");
これは、このスクリプトを実行する良い方法ですか?
if($url = file_get_contents("https://api.twitter.com/1/statuses/user_timeline.json?screen_name=".$user)){}
else die("Invalid User");
これは、このスクリプトを実行する良い方法ですか?
私はあなたが何を意味するのかわかりませんが、あなたの呼び出しが正しいかどうか尋ねられたら、ここfile_get_contents
に述べられているように、私はそう言わなければなりません:
On failure, file_get_contents() will return FALSE.
はい、あなたのコードは正しいです$url
。ページのコンテンツを入力するか、要求された URL がエラー コードになる場合は false を返します。ただし、0
または空の文字列の値を持つページも として解釈されるfalse
ことに注意してください。これを避けるには、strong-matching を使用します!==
。
if(false !== ($url = file_get_contents("https://api.twitter.com/1/statuses/user_timeline.json?screen_name=".$user)))
URL が有効であることを確認するだけの場合は、get_headersを使用して、HTTP HEAD リクエストで応答のヘッダーのみをフェッチします。
stream_context_set_default(
array(
'http' => array(
'method' => 'HEAD'
)
)
);
$headers = get_headers('http://example.com'. 1);
// get the response code
$parts = explode(' ', $headers[0]);
$code = $parts[1];
if($code == 200) ... // success
if($code == 404) ... // failure
これにより、ページ全体をネットワーク経由で送信する必要がなくなります。
空のコンテンツまたはコンテンツもテストに失敗するため、 === false
(3 つに注意してください)を確認する必要があります。=
0
$http_response_header
変数を使用して HTTP ステータス コードを確認することをお勧めします。値は 200 の範囲 (200 ~ 299) である必要があります。