適当メモ - maple4estry -


コピーアンドペースト用の記事

失われたソースファイル 8

ありがちなんだけど良くなくしてしまうスクリプトファイルなどを おいておく場所です。

生POSTデータを含む全てのデータを取得する PHPスクリプト

POST されてきたデータを、日付時分秒.txt に保存する スクリプトです。 XML-RCP とか、ブログの ping のデバッグ用などにどうぞ。 POST の ROW データ も保存します。

<?php
	
	// ファイル作成
	$filename = date("mdHis");
	if(!$fno = fopen("$filename.txt", "a")) {
		die("$filename.txt が作成できませんでした");
	}
	
	// 各種情報書きだし
	fputs($fno, "---------- \$_SERVER ----------\n");
	array_fileget($_SERVER, $fno);
	fputs($fno, "---------- \$_COOKIE ----------\n");
	array_fileget($_COOKIE, $fno);
	fputs($fno, "---------- \$_GET    ----------\n");
	array_fileget($_GET, $fno);
	fputs($fno, "---------- \$_POST   ----------\n");
	array_fileget($_POST, $fno);
	// POST の生データ
	$buffer = "";
	$stdin = fopen("php://input", "r");
	if(!$stdin) {
		die( "標準入力が開けませんでした。" );
	}
	while(!feof($stdin)) {
		$buffer .= fgets( $stdin, 10000 );
	}
	fclose( $stdin ); 	
	fputs($fno, "---------- POST_RAW ----------\n");
	fputs($fno, $buffer);
	
	// ファイルクローズ
	fclose($fno);
	
	// 終わり
	exit;
	
	// 配列用再起関数
	function array_fileget($array, $fno) {
		
		foreach ($array as $key => $value) {
			if (is_array($value)) {
				$array[$key] = array_fileget($value, $fno);
			} else {
				$array[$key] = fputs($fno, "$key : $value\n");
			}
		}
		return $array;
		
	}
	
?>

おわり

ブログのシステムを入れたときに、相手に ping やトラックバックが ちゃんと届いているのか確かめるために作ったものです。