Header

Serijalizacija

Pošalji komentar

Ocenite članak

 

Kako sadržaj matrice smestiti u fajl ili u polje u bazi podataka? Tako što ćemo prvo serijalizovati sadržaj matrice, tj. pretvoriti ga u string koji se kasnije može pretvoriti ponovo u matricu.

Napravite fajl serijalizuj.php:

1
<?php
2
$podaci = array(
3
'os' => 'Windows',
4
'webserver' => 'Apache',
5
'db' => 'MySQL',
6
'lang' => 'PHP'
7
);
8
9
file_put_contents('podaci_sirovi.dat', $podaci);
10
11
$podaci = serialize($podaci);
12
13
file_put_contents('podaci_serijalizovani.dat', $podaci);
14
?>


Ova skripta će formirati dva fajla sa sledećim sadržajima:

  • podaci_sirovi.dat

    WindowsApacheMySQLPHP


  • podaci_serijalizovani.dat

    a:4:{s:2:"os";s:7:"Windows";s:9:"webserver";s:6:"Apache";s:2:"db";s:5:"MySQL";s:4:"lang";s:3:"PHP";}


Jasno je da podaci u prvom fajlu nisu sačuvani u formatu pogodnom za dalju obradu. Sadržaj drugog fajla je možda na prvi pogled nečitljiv, ali taj problem se rešava u jednoj liniji koda.

Napravite fajl deserijalizuj.php:

1
<?php
2
$podaci = file_get_contents('podaci_serijalizovani.dat');
3
$podaci = unserialize($podaci);
4
print_r($podaci);
5
?>


Rezultat je matrica od koje smo i pošli:

1
Array
2
(
3
[os] => Windows
4
[webserver] => Apache
5
[db] => MySQL
6
[lang] => PHP
7
)