tohokuaikiのチラシの裏

技術的ネタとか。

PEAR Archive_Tarのエラー出力

なんでかしらんけど、extract()でエラー。

こうすれば、エラーが画面に出る。つか、PEAR基本的な使い方だけどいまだに全くその辺のPEARの使い方を知らなかったのは内緒。

<?php
require_once 'Archive/Tar.php';
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_PRINT;  // <<=これな。
$tar = new Archive_Tar($data_file, 'gz');
$status = $tar->extract($target_dir);

mb_convert_variableにハマる。

mb_convert_variableを通した後は、配列のポインタが無くなるようです。つまり、

<?php
$array = array(
    'foo' => '固定長フィールド',
    'bar' => 'CSVファイル',
    'baz' => 'コンピュータ',
    );
var_dump(key($array));  // => foo
mb_convert_variables("SJIS", "UTF-8", $array);
var_dump(key($array)); // => NULL
exit;

って感じ。ひょえー、ハマったぞな。

あれ?もしかして、参照引数な配列関数は全部そうなの?とか思ったけど、mb_convert_variablesの代わりにksortだと全然まとも。

うーん、mb_convert_variables便利なんだけど、なんたる落とし穴。


どーも、自分にはmb_convert_variablesは鬼門のようで、Firefoxで検索しようとしたら、過去にも

とかなってる。