nesneler dizisi seri hale nasıl php?

1 Cevap php

Ben 'Çağrı' adı verilen küçük bir sınıf var ve ben düz bir dosya içine bu çağrıları saklamak gerekir. Ben içine bu çağrıları koymak bir dizi içeren 'CallStorage' adlı başka bir sınıf yaptık.

Benim sorunum daha sonra tekrar okudum ve o diziden çağrıları alabilir yüzden diske bu diziyi saklamak istiyorum olmasıdır.

Ben bunu kullanarak serialize () ve unserialize () elde etmek için denedim ama bu nedense garip hareket gibi görünüyor ve bilgilerin kısmı kaybolur.

Bu ben ne yapıyorum:

//write array to disk
$filename = $path . 'calls-' . $today;
$serialized = serialize($this->array);
$fp = fopen($filename, 'a');
fwrite($fp, $serialized);
fclose($fp);

//read array from serialized file

$filename = $path . 'calls-' . $today;
if (file_exists($filename)) {
    $handle = fopen($filename, 'r');
    $contents = fread($handle, filesize($filename));
    fclose($handle);
    $unserialized = unserialize($contents);
    $this->setArray($unserialized);
}

Birisi ben yanlış yapıyorum görmek, ya da ne olabilir. Ben de sade dizeleri içeren diziler serialize ve yazmayı denedim. Ben almak için yönetmek yoktu o da çalışmıyor bu tefrika eğer ben sadece diske bir dizi yazamadı Ben sadece neden göremiyorum bu yüzden .. Ben bir Java arka plan var. :)

1 Cevap

Öncelikle, steno formları kullanmak:

file_put_contents($filepath,serialize($var));

ve

$var=unserialize(file_get_contents($filepath));

Sorun nerede olduğunu ve her aşamada çıkış / debug bulmak için.