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) である必要があります。