fuelphpでファイルにserializeして保存したデータがunserializeできなかった

  • このエントリーをはてなブックマークに追加
  • Pocket

バージョンはfuelphp1.7
はまったのでメモ。

タイトル通りに、serializeされたデータをtaskからファイルに保存。

File::create(DOCROOT.'/public/', 'test.dat', $data);

それを以下の様に呼び出してunserializeしたが Error at offset 0 of 2 的なエラーで止まってしまった。

$file = \File::get(DOCROOT.'test.dat');
$data['test'] = $file->read();
$data['test'] = Format::forge($data['test'], 'serialize')->to_array();

が、普通にfile_get_contentsで取得すると回避できた。

$data['test'] = file_get_contents(DOCROOT.'test.dat');
$data['test'] = Format::forge($data['test'], 'serialize')->to_array();

PHP でシリアライズしたデータが壊れてしまう場合は base64_encode をする

上記も試したがダメだった。結局なんでか良くわからなかった。

俺がアホなんだろうか。

誰か教えて下さい。

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*