<?php /* 適当な場所 */ session_save_path('/home/www/tmp/'); if (empty($_SERVER['HTTP_X_UP_SUBNO'])){ $id = md5($_SERVER['HTTP_USER_AGENT']); } else { $id = md5($_SERVER['HTTP_X_UP_SUBNO']); } session_id($id); echo $id; /* 出力結果: 2kvug9vlmgq3i6es5d7la8a4b5 以下のファイル名でセッション内容をファイルに保存 sess_2kvug9vlmgq3i6es5d7la8a4b5 */ session_start(); echo "<a href=\"2.php\">○○サイトへ</a><br>"; print_r($_SESSION); ?>
$ cd /home/www/tmp/ $ ls sess_2kvug9vlmgq3i6es5d7la8a4b5 sess_5565dptovhu7suvn28nn1o58s7 sess_f0h84jp64fd4hcb1frmeal64i3 sess_l7nc1c0u670uq77qu5ian09s53 : : :
<?php session_save_path('/home/www/tmp/'); if (empty($_SERVER['HTTP_X_UP_SUBNO'])){ $id = md5($_SERVER['HTTP_USER_AGENT']); } else { $id = md5($_SERVER['HTTP_X_UP_SUBNO']); } session_id($id); /* 以下ファイルが存在するのでセッション情報を読み込む sess_2kvug9vlmgq3i6es5d7la8a4b5 */ session_start(); $_SESSION["auth"] = "YES"; header("Location: http://hoge.com"); ?>
session_id()で独自ID(ファイル名)を指定すると
セッション保存先に独自IDのセッションファイルが
作成されます。
session_id('example');
sess_example というセッションファイルが出来ます。
独自ID部分に携帯端末IDを指定することで毎回、同じ
ファイル名のセッションで読み書きされることになります。
session_cache_expire()でセッションの有効時間を設定
出来ます。
デフォルトは180分なので、180分以上たってから他サイト
から戻ってくると、セッションが切れる事になります。
(実際はsession.gc_divisorなどの影響を受けます)
■session_cache_expire()
http://jp2.php.net/manual/ja/function.session-cache-expire.php
■session_save_path()
http://jp2.php.net/manual/ja/function.session-save-path.php