這篇文章主要介紹了php session的應用程式詳細介紹的相關資料,需要的朋友可以參考下
##php session高級應用
session在web技術中非常重要,由於網頁是一種無狀態的連線程序,因此無法得知使用者的瀏覽狀態。透過session則可以記錄使用者的相關訊息,以供使用者再次以此身分對web伺服器提交要求時確認。 例如:使用者在瀏覽電子商務網站的時候,如果沒有session,那麼使用者每次瀏覽就需要輸入帳號密碼。1,Session 暫存檔案
PHP函數session_save_path()函數儲存Session暫存文件,可以緩解因暫存文件的儲存導致的伺服器效率降低和網站開啟緩慢的問題。
<?php $path ="./tmp/"; //设置session存储的路径 session_save_path($path); session_start(); $_SESSION['userName']=true; ?>
string session_cache_limiter([string cache_limiter]);
int session_cache_expire([int new_cahche_expire]);
注意:
<?php session_cache_limiter("private"); $cache_limit =session_cache_limiter(); //开启客户端缓存 echo "缓存限制为:".$cache_limit."\n"; session_cache_expire(30); $cache_expire = session_cache_expire(); //设定客户端缓存时间 echo "客户端缓存时间为:".$cache_expire."分钟\n"; session_start(); ?>
#3,Session資料庫儲存
##在php中Session 的資料庫儲存主要是透過session_set_save_handler()函數來實現的。 具體語法如下:
bool session_set_save_handler(string open,string close,string read,string write,string destroy,string gc);
function _session_open($save_path,$session_name){ global $handle; $handle =mysql_connect('localhost','root','root')or die('数据库连接失败!'); mysql_select_db('db_database11',$handle)or die('数据库不存在'); return(true); }
function _session_close(){ global $handle; mysql_close($handle); return(true); }
function _session_read($key){ golbal $handle; //全局变量$handle 连接数据库 $time =time(); //设定当前时间 $sql ="select session_data from tb_session where session_key = '$key' and session_time>'$time'"; $result =mysql_query($ssql,$handle); $row =mysql_fetch_array($result); if($row){ return($row['session_data']); }else{ return(false); } }
function _session_write($key,$data){ global $handle; $time = 60*60; $lapse_time =time()+$time; //得到UNIX时间戳 $sql = "select session_data from tb_session where session_key ='$key' and session_time>$lapse_time"; $result =mysql_query($sql,$handle); if(mysql_num_rows($result)==0){ //没有结果 $sql ="insert into tb_session values('$key','$data',$lapse_time)"; $result =mysql_query($sql,$handle); }else{ $sql ="update tb_session set session_key='$key',session_data ='$data',session_time =$lapse_time where session_key ='$key'"; $result =mysql_query($sql,$handle); } return($result); }
function _session_destroy(){ global $handle; $sql ="delete from tb_session where session_key ='$key'"; $result =mysql_query($sql,$handle); }
functin _session_gc($expiry_time){ global $handle; $sql ="delete from tb_session where session_expiry_time<$expiry_time"; $result =mysql_query($sql,$handle); return($result); }
以上是php session的應用程式碼實例詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!