본 글은 php세션의 세부적용에 관한 내용을 주로 소개하고 있으며, 필요한 친구들은
php세션 고급적용
을 참고하세요. 🎜>웹 기술에서는 세션이 매우 중요합니다. 웹 페이지는 무상태 연결 프로그램이므로 사용자의 탐색 상태를 알 수 없습니다. 세션을 통해 사용자가 다시 웹 서버에 요청을 제출할 때 확인을 위해 사용자의 관련 정보가 기록될 수 있습니다. 예를 들어 사용자가 전자상거래 웹사이트를 탐색할 때 세션이 없으면 사용자는 탐색할 때마다 계정 비밀번호를 입력해야 합니다.1. 세션 임시 파일
PHP 함수session_save_path() 함수를 사용하여 세션 임시 파일을 저장하면 임시 파일 저장으로 인한 서버 효율성 저하 및 사이트 열기 속도 저하 문제를 완화할 수 있습니다.
<?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, 세션 데이터베이스 저장
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); }
타임스탬프 를 설정하고 $key를 기준으로 Session 명함 및 내용을 검색합니다. 코드는 다음과 같습니다.
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); } }
에 따라 페이지의 세션을 데이터 데이터베이스에 삽입합니다. 쿼리 결과가 비어 있지 않으면 $key를 기준으로 데이터베이스의 Session 저장소 정보를 수정합니다. 코드는 다음과 같습니다.
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 세션의 애플리케이션 코드 예제에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!