2010-08-31 68 views
0

我想在PHP源代碼使用SetCookie函數存儲cookie信息..不是PHP源代碼..什麼是_COOKIE [「XX」]對應的C代碼;_COOKIE信息在服務器端

換句話說,_COOKIE數組是在哪裏創建和填充的?

+1

「 PHP的源代碼「Huh:? – NullUserException 2010-08-31 04:00:12

+0

如果您有興趣探索或修改PHP源代碼,我建議您與PHP Internals郵件列表上的人交談:http://news.php.net/php.internals – leepowers 2010-08-31 04:05:49

+0

您是否正在編寫擴展? – Artefacto 2010-08-31 04:10:13

回答

1

$_COOKIE變量不使用JIT(剛剛在一次初始化),所以它總是訪問通過讀取全局變量表EG(symbol_table)

zval **cookie_var; 
if (zend_hash_find(&EG(symbol_table), "_COOKIE", sizeof("_COOKIE"), 
     (void**)&cookie_var) == SUCCESS) { 
    /* do something with cookie_var */ 
} else { 
    /* handle error; shouldn't happen */ 
} 
+0

值?? 是**(cookie_var)='views'的值嗎? – 2010-08-31 04:18:19

+0

@Kar你不得不另做哈希查找陣列上'cookie_var':'zend_hash_find(Z_ARRVAL_PP(cookie_var), 「意見」 的sizeof( 「意見」),(無效**)my_var)' – Artefacto 2010-08-31 04:24:51

+0

確定..現在Zval字符不匹配錯誤發生..我是這個擴展寫入新。所以你能幫助我嗎?我知道這個變量名是'views',並且它會保持不變。所以我不必從用戶那裏得到它。 – 2010-08-31 04:29:00

0

Cookie信息作爲您的http頭(即瀏覽器發送)的一部分。通過解析PHP數組並將其放入_COOKIE中,PHP可以更輕鬆地訪問它們。你必須做在C.