2010-08-31 71 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.