PHP序列化與反序列化例項分析

2022-10-06 08:42:06 字數 1092 閱讀 2883

物件也是一種在記憶體中儲存的資料型別,他的壽命通常隨著生成該物件的程式的終止而終止。有時候可能需要把物件的狀態儲存下來,需要時再將其回覆。序列化是把每個物件轉化為二進位制字串。

<?php class person

function say()

function run()

//序列化的時候自動呼叫,成員$***被忽略,只序列$name,$age

function __sleep()

//反序列化時自動呼叫

function __wakeup()

}class student extends person

function study()

}class teacher extends student

//如果呼叫了不存在的方法,將會自動呼叫__call(),不會報錯

function __call($fwww.cppcns.comunctionname,$args)

}$teacher1 = new teacher("kaifu","男",22);

$teacher1->school = "edu";

$teacher1->wage = 4000;

$teacher1->say();

$teachewww.cppcns.comr1->study();

$teacher1->teaching();

$teacher1->hello(1,2,3);

?>

<?php require_once 'person.php';

$teacher = new teacher("tom","男",22);

$teacher_str = serialize($teacher);

file_put_contents("file.txt", $teacher_str);

//反序列化

$objstr = file_get_contents("file.txt");

$t = unserialize($objstr);

echo $t->age;

?>

序列化 file.txt :

o:7:"teacher":2:

php序列化與反序列化

php的序列化 反序列化對與一些大檔案的壓縮操作,讀寫操作十分有用。乙個簡單的序列化案例 同時用到了序列化與反序列化函式,二者在被呼叫時會分別自己呼叫對應的函式,sleep 以及 wakeup.sleep和 wakeup練習題 故事 乙個果農生產了很多水果種類,於是需要把乙個買家指定的種類寄給他,生...

php 序列化與反序列化

序列化 反序列化序列化 例一class user number 66 str jerry bool true null null arr array a 1,b 2 user new user tom true var dump serialize number var dump serialize...

php序列化與反序列化

jarvisoj上的一道題 是關於php序列化以及反序列化引起的問題,我看 wp大神的wp 題目給直接給出了源 這句話是關鍵,漏洞產生在php serialize和php解析方式上。如果我們通過php serialize的方式構造序列化語句,然後通過php的方式解析序列化語句,就會出現問題。原因是在...