$http_response_header という特別な変数に配列として格納されます。関数内で HTTP ラッパー が使用された場合は、ローカルスコープとなり、$http_response_header は、関数内でのみ有効ですが、global で宣言すると外部からも参照可能になります。
<?php function get_contents_1() { file_get_contents("http://winofsql.jp/toolbox.gif"); var_dump($http_response_header); } get_contents_1(); var_dump($http_response_header); function get_contents_2() { global $http_response_header; file_get_contents("http://winofsql.jp/toolbox.gif"); var_dump($http_response_header); } get_contents_2(); var_dump($http_response_header); ?>
以下が実行結果ですが、一回目のセットで、関数外から参照した場合は NULL となっています。
array(9) { [0]=> string(15) "HTTP/1.1 200 OK" [1]=> string(35) "Date: Wed, 27 Nov 2013 16:36:58 GMT" [2]=> string(58) "Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e" [3]=> string(44) "Last-Modified: Wed, 09 Feb 2011 12:41:58 GMT" [4]=> string(19) "ETag: "88-4d528b96"" [5]=> string(20) "Accept-Ranges: bytes" [6]=> string(19) "Content-Length: 136" [7]=> string(17) "Connection: close" [8]=> string(23) "Content-Type: image/gif" } NULL array(9) { [0]=> string(15) "HTTP/1.1 200 OK" [1]=> string(35) "Date: Wed, 27 Nov 2013 16:36:58 GMT" [2]=> string(58) "Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e" [3]=> string(44) "Last-Modified: Wed, 09 Feb 2011 12:41:58 GMT" [4]=> string(19) "ETag: "88-4d528b96"" [5]=> string(20) "Accept-Ranges: bytes" [6]=> string(19) "Content-Length: 136" [7]=> string(17) "Connection: close" [8]=> string(23) "Content-Type: image/gif" } array(9) { [0]=> string(15) "HTTP/1.1 200 OK" [1]=> string(35) "Date: Wed, 27 Nov 2013 16:36:58 GMT" [2]=> string(58) "Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e" [3]=> string(44) "Last-Modified: Wed, 09 Feb 2011 12:41:58 GMT" [4]=> string(19) "ETag: "88-4d528b96"" [5]=> string(20) "Accept-Ranges: bytes" [6]=> string(19) "Content-Length: 136" [7]=> string(17) "Connection: close" [8]=> string(23) "Content-Type: image/gif" }
ただ、この場合取得する事のできる最大値は 1024 のようです。
|
【PHP + 通信の最新記事】
- fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信
- PHP の cURL でファイルアップロード
- PHP : WEB でもコマンドラインでも HTTP でファイルをダウンロードする 『fget.php』
- PHP : cURL : Google Photo API の albums.list メソッドを使用して アルバム一覧データを取得する
- PHP + cURL で Google Photo API の アクセストークンを取得する
- PHP : cURL で FTP + SSL ダウンロード
- PHP の imap 関数で( Windows ローカル )、Yahoo メールのメールをさくらインターネットのメールへコピーする
- PHP の imap 関数( Windows のローカル )で、さくらインターネットのメールボックスの情報を取得する
- PHP : IMAP 関数 でまずメールのヘッダ部分を整理してログに出力する / ※ JSON 出力を追加
- ファイルを一つアップロード : FORM の target を IFRAME にして、PHP に JavaScript を書き出させて元のページにメッセージを表示させる
- Pear の Net_POP3 で、SSL(995) を使って簡単にメール受信
- PHP をコマンドプロンプトから実行して、WEB 上のデータを取得するいくつかの方法
- FormData を使用して $.ajax で送信すると、ファイルのアップロードとメール送信(ファイル添付)を一度に行えます
- ファイルのアップロードからそれを添付してメールを送るテンプレート(スケルトン)
- PHP : mb_send_mail を使用した自家用メール送信 API
- PHP で Windows標準のオブジェクト(CDO.Message)とGMail を使ってメール送信
- PHP : http 経由でファイルのサイズを取得する file_size 関数と ファイルサイズを付加した get_imagesize 関数
- 連想配列のキー部分がプロパティと一致したらセットする( メール送信用クラス )
- PHP : リモートのファイルサイズを取得する
- ローカルの PHP を使ってコマンドプロンプトより簡単にバイナリファイルをアップロードする