50pt
Basic認証がエラーになったときにサーバー側がどのように振る舞うかは、サーバー次第です。例えば、サーバー側でBasic認証の処理をPHPでしてたとしたら、単にエラーをヘッダーで返す事も、エラー表示のHTMLページを表示することも出来ます。ですから対象のURLを処理するサーバーがどのように振る舞うかを想定した処理をする必要があります。
50pt
$http_response_header にサーバーから返されたヘッダー情報が入ってますので、file_get_contents の直後に $http_response_header[0] に入っているステータスコードを読み取って、HTTPステータスコードによって処理を分けるようにすればよいでしょう
まずは、下記のような単純なスクリプトを書いて、BASIC認証がかかっているサイトにアクセスすると $http_response_headerに何が入ってくるかをテストしてみるといいでしょう
<?php file_get_contents("URL"); var_dump($http_response_header);
HTTPステータスコードは下記参照
ご回答ありがとうございます。
ご回答ありがとうございます。