1

次のコードを使用して、ユーザーが提供するリンクが実際に既存のWebサイトを指しているかどうかを確認しました。

$headers=get_headers($imageurl);
if (strpos($headers[0], '200') === false) {
    echo "not valid1";
    exit;
}

テストとして、imghttp ://cdn.thegloss.com/files/2012/04/stormtr.jpgを使用します

これをローカルホストで使用している限り、正常に機能します。つまり、URLが有効で、「not valid1」をエコーし​​なかったと表示されます。現在、別のサーバーにあり、「notvalid1」をエコーし​​ます。どうして?誰かアイデアはありますか?

ありがとう!デニス

4

2 に答える 2

2

get_headers()失敗したためfalseを返します。サーバーでがオフに設定されて
いることが原因である可能性があります。allow_url_fopen

于 2012-05-18T16:55:06.453 に答える
1

これを試してみると、3桁のHTTP応答コードのみが返されます

function get_response_code($theURL) {
    $headers = get_headers($theURL);
    return substr($headers[0], 9, 3);
}
于 2012-05-18T16:59:10.057 に答える