人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのputenvはどういった時に使うのでしょうか?

マニュアルによると「この環境変数は、カレントのリクエストを実行している間のみ存在します。 リクエスト終了時、環境変数は元の状態に戻されます」(http://php.mirror.camelnetwork.com/manual/ja/function.putenv.php)
とあります。消えてしまうのなら何も、環境変数を設定するまでもなくプログラム側のコード次第でどうにでもなる話だと思うのですが。。。一体この関数にはどんな使い方があるのでしょう?

私の実現したいことは、例えばGET(単なるリンクでもいい)で次のページにデータを引き渡すのですが、それと共に(裏側で)自分で設定した環境変数に値を載せて次のページでgetenv(hoge)みたいな感じで取得したいのです。POSTやCookieを使えない環境を想定しています(ケータイなど)

上記を実現する代替手段があればputenvでなくても構いません。要するに(GETのような)ユーザーによる変更が容易でないデータの受け渡し方法を知りたいのです。

ちなみにセキュリティのベキ論などはまったく期待してません。
どなたかよろしくお願いします。

●質問者: kehi3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:cookie hoge PHP カレント ケータイ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● studioes
●35ポイント

putenvは、例えばPHPで外部コマンドを実行するときに、環境変数を設定する為に使えます(exec() 等)

データを書き換えられるのが嫌ならば、普通にセッション管理を行えば良いのではないですか? hoge.php?SID=セッションIDの様に、GET形でもセッション管理できますが。

http://q.hatena.ne.jp/1175912819

◎質問者からの返答

ご回答ありがとうございます。

なるほど、外部コマンド実行のときに使うものなのですね。勉強になりました。GETでのセッション管理は存じておりますが、それしかないようですね。ありがとうございました。


2 ● kurukuru-neko
●35ポイント

PHPは、もともとWEB専用の言語ではありません。

従って常駐して動作するようなプログラムも

存在します。

putenvに関しては、生成したプログラムが

別のプログラムを起動する場合、起動された

プログムの設定情報などを環境変数経由で

参照する場合に使われます。

今回の利用方法では、putenvしても

プログラムが終了してしまうので、getenv

しても元のデータは存在しない事になり

目的が処理は出来ない。

通常は、cookie/postが使えない場合は

セッション情報を使う必要があります。

簡単なのは、URLに?xxxxのように

パラメータ部分にセッション情報を埋め込む方法。

又は個体識別情報をセッション情報として使う方法。

http://ke-tai.org/index.php?DoCoMo%2F%A5%B5%A5%A4%A5%C8%C0%A9%BA...

http://www.limy.org/program/mobile/uid.html

http://ke-tai.org/index.php?cmd=read&page=DoCoMo%2F%A5%B5%A5...

◎質問者からの返答

ご回答ありがとうございます。

ケータイ向けのリンク大変参考になりました。

putenvは外部コマンド実行のときに使うものなのですね。勉強になりました。

ちなみに(蛇足ながら恐縮ですが)もともとのPHPの略を見てもWeb用言語だと思いますよ。(PersonalHomepageTool)

http://www.scollabo.com/banban/php/php_01.html

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ