file_get_contentsについて
file_get_contentsについて教えてください。
現在あるサイトを定期的にチェックし、特定の文字列が存在したら
メールを送るというものを作っています。
そのサイトチェックの際にfile_get_contentsを使って、
サイトの中身をチェックしています。
$tmpPage = file_get_contents('~.cgi?aa=bbb');
上記の用に記述して$tmpPage内の文字列をチェックすることで
実現できているのですが、本来このサイトは携帯向けのページのため
ヘッダー情報を付加して下記のように記述しています。
$opts = array(
'http'=>array(
'method'=>'GET',
'header'=>'Host :www.XXXXX.jp' . PHP_EOL .
'User-Agent :KDDI-XXXXXXXXXXXX' . PHP_EOL .
'x-up-subno :XXXXXXXXXXXX.ezweb.ne.jp'
)
);
$context = stream_context_create( $opts );
$tmpPage = file_get_contents( '~.cgi?aa=bbb', false, $context );
このように記述すると
Warning: file_get_contents('~.cgi?aa=bbb') [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
とエラーが返ってきてしまいます。
アクセスするURLをYahooやGoogleにすると問題なく動いているので、
問題なのはチェックするサイトのURLが「XXX.cgi?aa=bbb」と
なっているのがダメなのではないかと思っています。
アクセス先のURLが単純な「.html」ではないまたは、ヘッダー情報を
付加する場合、file_get_contentsの使い方が変わるのでしょうか。
ご存知の方がいらっしゃれば是非教えてください。
よろしくお願いします。
お礼
回答ありがとうございます。 試しにやってみたら直りました・・・ 感謝です。