• ベストアンサー

phpでget_headers()が使えない?

皆さんにお聞きしたいのですが、私が使っているレンタルサーバーで 下記のように記載したphpファイルをアップしたら画面が真っ白のまま ヘッダ情報を取得出ませんでした。 <?php $headers = @get_headers( 'http://www.yahoo.co.jp' ); print_r($headers); ?> どうして取得でないのかわかる方がいましたら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.3

最低限のエラー処理は入れること $headers = @get_headers( 'http://www.yahoo.co.jp' ) or die('get error'); 他サーバではOKということなので、サーバ側の制限の可能性は高いです。が、詳細はサーバ管理者に問い合わせるしかありません(設定でどうこうするようなものでもないです)。

kaku-yasu
質問者

お礼

すみません。 御礼を補足に入れてしまいました。 サーバー側に制限などを確認したところ、php.iniの設定で「allow_url_fopen」をOnにすることで出来る言われました。 allow_url_fopenをOn設定に変えて、get_headersにてヘッダ情報を取得できるようになりました。 ありがとうございました。

kaku-yasu
質問者

補足

サーバー側に制限などを確認したところ、php.iniの設定で「allow_url_fopen」をOnにすることで出来る言われました。 allow_url_fopenをOn設定に変えて、get_headersにてヘッダ情報を取得できるようになりました。 ありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

file_get_contents()でデータは入手できますか? 場合によってはご利用のレンタルサーバーから該当URLへの http通信が確保できない可能性もあります

  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

何らかのエラーが発生しているかもしれません。 @をつけずにget_headersを実行したらどうなりますか?

kaku-yasu
質問者

補足

早速の回答ありがとうございます。 @を外してみましたが真っ白な画面のままでした。 ちなみに他のサーバーで試したところ問題なく取得できました。 php.iniの設定等の問題なのでしょうか?