>  기사  >  백엔드 개발  >  PHP 세션 추적 및 파일 처리 시스템 1 (43)

PHP 세션 추적 및 파일 처리 시스템 1 (43)

WBOY
WBOY원래의
2016-08-08 09:23:12936검색

변수 등록 해제

1. unset($_SESSION['xxx'])는 단일 세션 변수를 삭제하고, unset($_SESSION['xxx'])는 등록된 세션 변수를 등록 해제하는 데 사용됩니다. 그 기능은 session_unregister()와 동일합니다. Session_unregister()는 더 이상 PHP5에서 사용되지 않습니다.
참고: unset($_SESSION) 이 함수는 사용하면 안 됩니다. 전역 변수 $_SESSION이 삭제되며 이를 복원할 수 있는 방법이 없습니다. 사용자는 더 이상 $_SESSION 변수를 등록할 수 없습니다.
2. $_SESSION=array()는 여러 세션 변수를 삭제합니다
3. session_unset()은 모든 세션 변수를 삭제합니다

세션을 삭제합니다

session_destroy()는 현재 세션을 종료합니다. 세션의 모든 리소스를 지웁니다. 이 함수는 현재 세션과 관련된 전역 변수를 설정 해제(해제)하지 않으며 클라이언트의 세션 쿠키를 삭제하지도 않습니다.
반환 값: 부울 값.
함수 설명: 이 함수는 현재 세션을 종료합니다.
에는 매개 변수가 없으며 반환 값은 true입니다.

참고: PHP의 기본 세션은 쿠키를 기반으로 합니다. 쿠키는 setcookie() 함수를 사용해야 합니다.

세션 삭제의 경우

<?<span>php
</span><span>//</span><span> 初始化session.</span><span>session_start();
</span><span>/*</span><span> 删除所有的session变量..也可用
unset($_SESSION[‘xxx’])逐个删除。</span><span>*/</span><span>$_SESSION </span>= array();<span>//</span><span>或session_unset();</span><span>/*</span><span>删除sessinid.由于session默认是基于cookie的,所
以使用setcookie删除包含session id的cookie.</span><span>*/</span><span>if</span><span> (isset($_COOKIE[session_name()])) {
setcookie(session_name(), </span><span>'</span><span>'</span>, time()-<span>42000</span><span>,
</span><span>'</span><span>/</span><span>'</span><span>);
}
</span><span>//</span><span> 最后彻底销毁session.</span><span>session_destroy();
</span>?>

영구 세션

요청 완료 후 등록된 모든 변수가 자동으로 직렬화됩니다. 서버 측 세션 텍스트 파일에 저장한 후 읽을 때 복원합니다.
??수동 인코딩 및 디코딩:
??session_encode(): 일련 번호 인코딩
??session_decode(): 복원-디코드
??경고: 일부 유형의 데이터는 직렬화할 수 없습니다. 세션에 저장할 수 없습니다. 순환 참조가 있는 리소스 변수 또는 개체를 포함합니다(즉, 개체가 자신에 대한 참조를 다른 개체에 전달함).

세션 제어 구성

php.ini 구성 파일에는 설정할 수 있는 세션 구성 옵션 세트가 있습니다. 다음과 같습니다.
??session.auto_start= 0 ; 요청이 시작되면 세션을 초기화합니다.
??session.cache_expire= 180 ; 캐시의 세션 문서가 n분 후에 만료되도록 설정합니다.
??session .cookie_lifetime= 0; 쿠키 저장 시간을 초 단위로 설정합니다. 이는 세션 만료 시간을 설정하는 것과 같습니다. 0이면 브라우저가 다시 시작될 때까지 기다리지 않는다는 의미입니다.

또한 php.ini에서 session.auto_start=1을 시작합니다. 세션을 사용하기 전에 매번 session_start()를 호출할 필요가 없습니다.
하지만 이 옵션을 활성화하는 데에는 몇 가지 제한 사항이 있습니다. session.auto_start가 실제로 활성화된 경우 세션에서 객체를 다시 생성하려면 세션을 시작하기 전에 클래스 정의를 로드해야 하기 때문에 객체를 세션에 넣을 수 없습니다.

??session.cookie_path= / ; 유효한 쿠키 경로
??session.cookie_domain= ; 유효한 쿠키 도메인
??session.name= 쿠키 이름에 사용되는 세션
??session.save_handler= files; 데이터 저장/검색 제어 방법
??session.save_path= /tmp; save_handler가 파일로 설정될 때 컨트롤러에 전달되는 매개변수입니다. 파일이 저장됩니다.
??session.use_cookies= 1 ; 쿠키 사용 여부

파일 처리 시스템

파일 형식

? ?프로그램이 실행되면 프로그램 자체와 데이터는 일반적으로 메모리에 저장됩니다. 프로그램이 종료되면 메모리에 저장된 데이터가 해제됩니다.
??프로그램 동작에 필요한 원본 데이터나 프로그램 동작으로 생성된 결과를 장기간 보관해야 하는 경우에는 외부 저장 매체에 파일 형태로 저장해야 합니다.
??파일이란 일반적으로 외부 매체에 저장된 이름(파일명)을 가진 관련 데이터의 집합을 말합니다. 파일을 이용하면 데이터를 장기간 저장하고 데이터 공유를 활성화할 수 있습니다.
??PHP는 UNIX 파일 시스템을 모델로 합니다. 따라서 Windows 시스템에서는 "file", "dir" 또는 "unknown"의 세 가지 파일 형식만 얻을 수 있습니다. UNIX 시스템에서는 블록, 문자, dir, fifo, 파일, 링크 및 알 수 없음의 7가지 유형을 얻을 수 있습니다.
??filetype() 함수를 사용하여 특정 파일 형식을 가져올 수 있습니다.
?? 구문: string filetype( string filename)

Liunx 시스템의 7가지 파일 형식에 대한 지침

is_dir() -- 주어진 파일 이름이 디렉터리인지 확인
구문 구조: boolis_dir (name)
반환 유형: 파일 이름이 존재하고 디렉터리이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
??is_executable() -- 주어진 파일 이름이 실행 가능한지 확인
구문 구조: boolis_executable(name)
반환 유형: 파일이 존재하고 실행 가능하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
??is_file( ) -- 주어진 파일 이름이 일반 파일인지 확인
구문 구조: boolis_file (name)
반환 유형: 파일이 존재하고 일반 파일인 경우 true를 반환합니다.
??is_link() -- 주어진 파일 이름이 심볼릭 링크인지 확인
구문 구조: boolis_link (name)
반환 유형: 파일이 존재하고 심볼릭 링크인 경우 true를 반환합니다.
??is_readable() -- 주어진 파일 이름을 읽을 수 있는지 확인
구문 구조: boolis_readable(파일 이름)
반환 유형: 파일이 존재하고 읽을 수 있으면 true를 반환합니다.
??is_writable( ) -- 주어진 파일 이름이 쓰기 가능한지 확인
구문 구조: boolis_writable(파일 이름)
반환 유형: 파일이 존재하고 쓰기 가능한 경우 true를 반환합니다.

파일 속성

이상으로 PHP 세션 추적 및 파일 처리 시스템 1(43)에 대한 내용을 소개하였고, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.