序列化
反序列化序列化
例一
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
($str))
;var_dump
(serialize
($bool))
;var_dump
(serialize
($null))
;var_dump
(serialize
($arr))
;var_dump
(serialize
($user))
;
輸出結果
string(5
)"i:66;"
string(12
)"s:5:"jerry";"
string(4
)"b:1;"
string(2
)"n;"
string(30
)"a:2:"
string(93
)"o:4:"user":4:"
注:序列化物件時,不會儲存常量的值。對於父類中的變數,則會保留。
例二(物件序列化自定義)
class
user
// 過載序列化呼叫的方法
public
function
__sleep()
}$user
=new
user
('spike'
,'kk'
,'123456');
var_dump
(serialize
($user))
;
輸出結果(忽略了 password 欄位的值):
string(66
)"o:4:"user":2:"
反序列化class
user
// 定義反序列化後呼叫的方法
public
function
__wakeup()
}$user
='o:4:"user":2:'
;var_dump
(unserialize
($user))
;
輸出結果:
object
(user)
#1 (3)
php序列化與反序列化
php的序列化 反序列化對與一些大檔案的壓縮操作,讀寫操作十分有用。乙個簡單的序列化案例 同時用到了序列化與反序列化函式,二者在被呼叫時會分別自己呼叫對應的函式,sleep 以及 wakeup.sleep和 wakeup練習題 故事 乙個果農生產了很多水果種類,於是需要把乙個買家指定的種類寄給他,生...
php序列化與反序列化
jarvisoj上的一道題 是關於php序列化以及反序列化引起的問題,我看 wp大神的wp 題目給直接給出了源 這句話是關鍵,漏洞產生在php serialize和php解析方式上。如果我們通過php serialize的方式構造序列化語句,然後通過php的方式解析序列化語句,就會出現問題。原因是在...
PHP序列化與反序列化
物件序列化 class site function geturl function settitle par function gettitle s new site var dump serialize s string 41 o 4 site 2 s url s title cdr s blog...