Comunitatea PHP Romania
 

 
unserialize

unserialize

(PHP 3>= 3.0.5, PHP 4 , PHP 5)

unserialize --  Creează o variabilă PHP dintr-o reprezentare liniară

Descriere

mixed unserialize ( string str)

unserialize() primește ca parametru o singură variabilă liniarizată (vezi serialize()) și o convertește "înapoi" într-o variabilă PHP. Este returnată valoarea convertită, care poate să aibă tipurile integer, float, string, array sau object.

Notã: Este posibilă setarea unei funcții callback ce va fi apelată dacă o clasă nedefinită trebuie instanțiată în timpul conversiei din forma liniară (pentru a preveni preluarea incompletă a unui object). Se poate folosi php.ini, ini_set() sau un fisier .htaccess pentru a defini 'unserialize_callback_func'. De câte ori o clasă trebuie instanțiată, se va apela această funcție. Pentru a dezactiva această facilitate, trebuie doar să ștergeți această setare.

Exemplu 1. Exemplu unserialize_callback_func

<?php
$serialized_object
='O:1:"a":1:{s:7:"valoare";s:3:"100";}';

ini_set('unserialize_callback_func','mycallback'); // setează callback_function

function mycallback($classname) {
    
// includeți fișierul care conține definiția clasei
    // se folosește $classname pentru a decide ce definiție de clasă este vizată
}
?>

Notã: În PHP 3, metodele nu sunt păstrate când se folosește unserialize pentru un obiect. PHP 4 elimină această limitare și restaurează stât proprietățile cât și metodele. Consultați secțiunea Serializarea obiectelor a capitolului Clase și obiecte pentru mai multe informații.

Exemplu 2. Exemplu pentru unserialize()

<?php
// Aici se folosește unserialize() pentru a încărca datele unei sesiuni
// în $session_data dintr-un string selectat dintr-o bază de date.
// Acest exemplu este complementar celui pentru funcția
// serialize.

$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array ($PHP_AUTH_USER);
if (!
odbc_execute ($stmt, &$sqldata) || !odbc_fetch_into ($stmt, &$tmp)) {
    
// se inițializează cu tablou vid în cazul in care execute sau fetch nu funcționează
    
$session_data = array();
} else {
    
// acum datele liniarizate sunt în $tmp[0].
    
$session_data = unserialize ($tmp[0]);
    if (!
is_array ($session_data)) {
    
// dacă ceva nu merge cum trebuie, se inițializează cu tablou vid
    
$session_data = array();
    }
}
?>

Mai consultați: serialize().

Ultimele discutii in forum RSS Forum

Ultimele articole Ultimele articole

Top membri

Pirahna Pirahna
la birou
carco carco
Bucuresti
Birkoff Birkoff
Bucuresti
Mascka Mascka
Braila
raul_ raul_
whooper whooper
Toronto ON
mihaitha mihaitha
Sibiu
gabysolomon gabysolomon
Bacau
oriceon oriceon
Constanta
garlicinicolae garlicinicolae

Newsletter


Email:
 inscriere
 renuntare
 
 Arhiva newsletter

Parteneriat

Copyright © 2001-2008 PHP Romania Add PHPRomania to Google Add PHPRomania to Del.icio.us Add PHPRomania to Stumbleupon Add PHPRomania to Yahoo! Add PHPRomania to Digg Add PHPRomania to Blink Credit Report | Portugal Property | Credit Cards | Loans | Mortgages
Ads: Partener Way2Web Nework: gazduire web | inregistrare domenii | web design | imobiliare | web hosting
Powered by Simplis