px-files/_sys/php/px.php
public function header($string, $replace = true){
		if( preg_match( '/^(.*?)\:(.*)$/', $string, $matched ) ){
			$key = @strtolower(trim($matched[1]));
			$val = @trim($matched[2]);
			switch($key){
				case 'content-type': $key = 'Content-type'; break;
			}
			if( $replace === true ){
				unset( $this->response_headers[$key] );
			}
			if( !@is_array($this->response_headers[$key]) ){
				$this->response_headers[$key] = array();
			}
			array_push( $this->response_headers[$key], $val );
		}elseif( preg_match( '/^HTTP\/([0-9\.]*?) ([0-9]{3}) (.*)$/', $string, $matched ) ){
			// ステータスコードは $px が管理しているので転送する
			$this->set_status($matched[2], $matched[3]);
		}

		@header($string, $replace);
		return;
	}
public function header($string, $replace = true){
		if( preg_match( '/^(.*?)\:(.*)$/', $string, $matched ) ){
			$key = @strtolower(trim($matched[1]));
			$val = @trim($matched[2]);
			switch($key){
				case 'content-type': $key = 'Content-type'; break;
			}
			if( $replace === true ){
				unset( $this->response_headers[$key] );
			}
			if( !@is_array($this->response_headers[$key]) ){
				$this->response_headers[$key] = array();
			}
			array_push( $this->response_headers[$key], $val );
		}elseif( preg_match( '/^HTTP\/([0-9\.]*?) ([0-9]{3}) (.*)$/', $string, $matched ) ){
			// ステータスコードは $px が管理しているので転送する
			$this->set_status($matched[2], $matched[3]);
		}

		@header($string, $replace);
		return;
	}
HTTP ヘッダを送信する。

このメソッドは、 PHP の `header()` の代わりに使用します。

PHP の `header()` は、SAPI に依存しており、 CLI SAPI 上ではヘッダーを送信できません。
このメソッドは CLI SAPI の環境下でも、HTTPレスポンスヘッダーの処理をエミュレートするために用意されました。
`$px->header()` を通して送信されたHTTPヘッダーは、 `$px->header_list()` から取得でき、 JSON形式の出力(コマンドラインオプション `-o json` を付加して実行)時、`header` に格納されます。

ただし、 `$px->header()` は、次のヘッダーは扱いません。

- HTTPステータスコード : 代わりに `$px->set_status()` を使用してください。 `$px->header()` にこのヘッダーを渡すと、 `$px->set_status()` にフォワードされます。
- X-PXFW-ERROR : 代わりに `$px->error()` を使用してください。
- X-PXFW-RELATEDLINK : 代わりに `$px->add_relatedlink()` を使用してください。

@param string $string ヘッダー文字列
@param bool $replace ヘッダが 前に送信された類似のヘッダを置換するか、または、同じ形式の二番目の ヘッダを追加するかどうかを指定する
@return null 値を返しません。