2011-08-12 18 views
2

特定のページリクエストに対して、私の関数の内部にある$_GET$_POST配列のPHP内部表現にアクセスする必要があります。これらの配列のPHP内部表現はありますか?例えば、$_GLOBALは、内部配列EG [Symbol_Table]の表現です。そうでなければ、シンボルテーブル内のGET変数とPOST変数を識別してアクセスする方法がありますか?PHP内部配列

要するに、$_POST$_GETの配列から、Zend Engineの内部にあるすべての変数が必要です。私は、入力パラメータがすべてPHPページで宣言された変数である形式(入力パラメータ、ページ)を持つ関数を持つ拡張を開発しています。これにアクセスする方法はありますか?

+0

私はこの質問を理解しているかどうかは分かりませんが、 'print_r()'を試してみましたか?例えば。 'print_r($ _ POST)'はそのオブジェクト/配列の中のすべてを印刷します – Jacksonkr

+0

これはC言語で書いていますか?人々が明らかに混乱しているように、あなたが何をしているのかを正確に指定した方が良いでしょう。 – Phil

+0

ありがとう...私は以下の答えにいくつかの情報を追加しました。 – user890928

答えて

4

彼らはそれぞれPG(http_globals)[TRACK_VARS_GET]PG(http_globals)[TRACK_VARS_POST]です。

+0

はい私はzendエンジンの中でCの拡張を書いています。私は何をする必要があるのか​​を概観します。 私は、単一のPHPページリクエスト内で宣言されたすべての変数にアクセスし、それらをページ名とともに入力パラメータ上で何らかの処理を行う別の関数に送る必要があります。 – user890928

+0

@ user890928さて、http_globalsには6つの要素があり、そこに必要なものはすべて見つかるはずです。それぞれは配列zvalです。 –

+0

これらは、特定のページ内のC内のgetおよびpost変数にアクセスできますか?また、これらの変数を単一のページリクエストに制限する方法はありますか?私は、1つのページからのみ変数を取得し、他のものは取得しないことを意味しますか? – user890928

0

新しいバージョン(5.3以降)では、ストリーム "php:// input"を使用してGETまたはPOSTデータにアクセスする必要があります。

phpのfile_get_contents関数の実装を見て、ストリームのオープン方法と読み込み方法を調べることができます。