忍者ブログ
  ちゃんとカテゴリ分けされておりませんので、 記事をお探しならブログ内検索が便利です。 ご活用くださいませー+.(≧∀≦)゚+.゚
Admin*Write*Comment
[670]  [669]  [668]  [667]  [666]  [665]  [664]  [663]  [662]  [661]  [660

PHPでログに変数の中身に何が入ったのか、記録したい場合がありますよね。
これが単純なStringなら問題ないけど、配列だった場合、
Array
とだけ出てしまい、ログとして使い物になりません。
調べたところPerl だと Data::Dumper()で簡単にできるのですが、PHPでは関数で用意されていないようです。
そこでob_start()関数を使ってちょっとテクると同様のことが実現できました。
ob_start();
var_dump($arr);
$ret =ob_get_contents();
ob_end_clean();

よく使うと思うのでclass化か、functionとして持っておくと便利かも?

class Util
{
  function getDumpInVariable($arr)
  {
    ob_start();
    var_dump($arr);
    $ret =ob_get_contents();
    ob_end_clean();

    return $ret;
  }
}

$write_file = "/path/to/file";

$util = new Util();
$arr = file($argv[0], FILE_IGNORE_NEW_LINES);
$res = $util->getDumpInVariable($arr);

$fp = fopen($write_file, "w");
fwrite($fp, $res);
fclose($fp);

readfile($write_file);

自分自身をDumpするとか・・・なかなかひどいスクリプトですけどね(^^ゞ
例としていい配列が思い浮かばなかったのよー ><

参考サイト
[PHP]var_dump関数の出力結果をファイルに保存する

拍手

PR



COMMENT
Name
Title
Color
Mail
URL
Text
Pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
ブログ内検索
カレンダー
11 2017/12 01
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カウンター
最新コメント
最新トラックバック
プロフィール
+ハンドル+
y_ayamori(purple)
+職業+
IT系エンジニア
+すまい+
さいたま
バーコード
ブログパーツ
アバター
Copyright © アナログを愛するデジタル生活館 All Rights Reserved.
photo by Kun material by Atelier Black/White Template by Kaie
忍者ブログ [PR]