NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"> unserialize (PHP 3>= 3.0.5, PHP 4 )
unserialize -- ä¿å˜ç”¨è¡¨ç¾ã‹ã‚‰ PHP ã®å€¤ã‚’生æˆã™ã‚‹
説明 mixed
unserialize ( string str)
unserialize() ã¯ã€ã‚·ãƒªã‚¢ãƒ«åŒ–ã•れãŸå¤‰æ•°
(serialize() ã‚’å‚ç…§) ã‚’ã¨ã‚Šã€PHP 変数値ã«
戻ã™å¤‰æ›ã‚’行ã„ã¾ã™ã€‚変æ›ã•れãŸå€¤ãŒè¿”ã•れã¾ã™ã€‚ãã®å€¤ã¯ã€
integer , float ,
string , array , object
ã¨ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚オブジェクトãŒã‚·ãƒªã‚¢ãƒ«åŒ–ã•れãŸå ´åˆã€è¿”り値
ã«ãã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¿å˜ã•れã¦ã„ã¾ã›ã‚“。
注æ„
コールãƒãƒƒã‚¯é–¢æ•°ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚(ä¸å®Œå…¨ãª
object "__PHP_Incomplete_Class"ã‚’å¾—ã‚‹ã“ã¨ã‚’防ããŸã‚)
コールãƒãƒƒã‚¯é–¢æ•°ã¯ã€éžã‚·ãƒªã‚¢ãƒ«åŒ–ã™ã‚‹éš›ã«æœªå®šç¾©ã®ã‚¯ãƒ©ã‚¹ã‚’インスタ
ンス化ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«ã‚³ãƒ¼ãƒ«ã•れã¾ã™ã€‚
'unserialize_callback_func'を定義ã™ã‚‹ãŸã‚ã«ã¯ã€
php.ini, ini_set() , .htaccessファイルを使用ã—
ã¦ä¸‹ã•ã„。未定義ã®ã‚¯ãƒ©ã‚¹ã‚’インスタンス化ã™ã‚‹åº¦ã«ã€ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯é–¢
æ•°ãŒã‚³ãƒ¼ãƒ«ã•れã¾ã™ã€‚ã“ã®æ©Ÿèƒ½ã‚’無効ã¨ã™ã‚‹ã«ã¯ã€ã“ã®ã‚°ãƒãƒ¼ãƒãƒ«å¤‰æ•°
を空ã¨ã—ã¦ä¸‹ã•ã„。
例 1unserialize_callback_funcã®ä¾‹
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';
ini_set('unserialize_callback_func','mycallback'); // set your callback_function
function mycallback($classname) {
// just include a file containing your classdefinition
// you get $classname to figure out which classdefinition is required
}
注æ„
PHP 3ã§ã¯ã€ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã‚·ãƒªã‚¢ãƒ«åŒ–ã•れãŸã‚ªãƒ–ジェクトをéžã‚·ãƒªã‚¢ãƒ«åŒ–
ã™ã‚‹éš›ã«ä¿å˜ã•れã¾ã›ã‚“。PHP 4ã§ã¯ã“ã®åˆ¶é™ã¯å–り除ã‹ã‚Œã€ãƒ—ãƒãƒ‘ティ
ã¨ãƒ¡ã‚½ãƒƒãƒ‰ã®ä¸¡æ–¹ã‚’ä¿å˜ã—ã¾ã™ã€‚ã‚ˆã‚Šè©³ç´°ãªæƒ…å ±ã«ã¤ã„ã¦ã¯ã€
オブジェクトã¨ã‚¯ãƒ©ã‚¹ ã®
オブジェクトã®ã‚·ãƒªã‚¢
ル化 ã®ç¯€ã‚’å‚照下ã•ã„。
例 2unserialize() ã®ä¾‹
// ã“ã“ã§ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ $session_data ã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ‡ãƒ¼ã‚¿ã‚’ãƒãƒ¼ãƒ‰
// ã™ã‚‹ãŸã‚ã« unserialize() を使用ã—ã¾ã™ã€‚
// ã“ã®ä¾‹ã¯ã€<function>serialize</function> ã§è¨˜è¿°ã•れãŸä¾‹ã‚’補足ã™ã‚‹ã‚‚ã®ã§ã™ã€‚
$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)) {
// 実行ã¾ãŸã¯å–å¾—ãŒå¤±æ•—ã—ãŸå ´åˆã€ç©ºã®é…列ã§åˆæœŸåŒ–ã—ã¾ã™
$session_data = array();
} else {
// $tmp[0] ã«ã‚·ãƒªã‚¢ãƒ«åŒ–ã•れãŸãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
$session_data = unserialize ($tmp[0]);
if (!is_array ($session_data)) {
// 何ã‹å•題ãŒã‚ã£ãŸãŸã‚ã€ç©ºã®é…列ã§åˆæœŸåŒ–ã—ã¾ã™ã€‚
$session_data = array();
}
}
serialize() ã‚‚å‚照下ã•ã„。