phpのソースコードではなく、phpのソースコードにsetcookie関数を使用して保存されたCookie情報を取得したい。_COOKIE['xx']に対応するCコードは何ですか。
言い換えると、_COOKIE配列はどこで作成され、入力されますか?
phpのソースコードではなく、phpのソースコードにsetcookie関数を使用して保存されたCookie情報を取得したい。_COOKIE['xx']に対応するCコードは何ですか。
言い換えると、_COOKIE配列はどこで作成され、入力されますか?
この$_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 */
}
Cookie情報は、(ブラウザが送信する)httpヘッダーの一部として提供されます。PHPは、きちんとした配列に解析して_COOKIEに入れることで、それらに簡単にアクセスできるようにします。あなたはCでそれをしなければならないでしょう。