変数のフォーマット済みデータ (krumo など) をメールで送信できるようにする PHP ライブラリを探していました。
これは、本番環境のデータを電子メールで送信するエラー ハンドラーを作成したためです。
機械で読み取り可能にしたい場合は、データを変更することもできjson_encode()
ます。serialize()
人間が判読できるようにする場合は、 の 2 番目の引数TRUE
を指定しprint_r()
てデータを文字列として返すか、出力バッファリングを使用して の出力を文字列にキャッチすることvar_dump()
ができます。
例えば
// For machine-readable results
$dataStr = json_encode($data);
// ...or...
$dataStr = serialize($data);
// For human-readable results
ob_start();
var_dump($data);
$dataStr = ob_get_clean();
// ...or...
$dataStr = print_r($data, TRUE);
mail('someone@somewhere.com', 'dump', print_r($obj, true));
$obj のコンテンツの人間が読めるバージョンを送信します。タイプ/サイズ情報が必要な場合は、var_dump を使用できますが、「出力の代わりに返す」オプションがないため、ob 関数を使用してその出力をキャプチャする必要があります。
電子メールで JSON 文字列として変数を使用json_encode()
して送信します。
HTMLとして送信できる別の方法たとえば
$sent = "<pre>".var_dump($data,true)."</pre>";
ただし、メール コンテンツのヘッダーを必ず次のように設定してください。
$headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";