이 기사의 예에서는 PHP 사용자 정의 파일에 세션을 저장하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
session.inc.php 파일: 세션의 파일 저장을 정의하며, 세션 솔루션은 PHP 스크립트에서 전역 변수를 정의하는 방법을 제공하여 이 전역 변수가 동일한 세션의 모든 PHP 스크립트에 유효하도록 합니다. 세션은 단순한 시간 개념이 아니라는 점은 모두 알고 있습니다. 세션에는 특정 사용자와 서버도 포함됩니다. 따라서 세션에 정의된 전역 변수의 범위는 모든 PHP에 대해 액세스되는 사용자를 나타냅니다. 예를 들어, 사용자 a는 세션을 통해 전역 변수 $user="wind"를 정의하고, 사용자 b는 세션을 통해 전역 변수 $user="jane"을 정의한 다음, 사용자 a가 액세스한 PHP 스크립트에서 $user의 값은 wind입니다. .
PHP에서 세션을 만드는 방법
세션을 생성하는 방법부터 시작해 보겠습니다. 세션을 시작하고 $admin 변수를 생성하는 방법은 매우 간단합니다.
세션 시작:
session_start();
admin이라는 변수를 선언하고 null 값을 할당합니다: $_session["admin"] = null;
seesion을 사용하거나 php 파일이 세션 변수를 호출하려는 경우 세션을 호출하기 전에 세션 변수를 시작해야 합니다. session_start() 함수를 사용하면 다른 것을 설정할 필요가 없습니다. php가 자동으로 세션 변수 생성을 완료합니다. 이 프로그램을 실행한 후 시스템 임시 폴더에서 세션 파일을 찾을 수 있습니다. 일반적으로 파일 이름은 sess_4c83638b3b0dbf65583181c2f89168ec 형식이며 그 뒤에 32비트로 인코딩된 임의 문자열이 옵니다. 내용을 살펴보세요: admin |n;, PHP 예제 코드는 다음과 같습니다:
//수퍼 글로벌 배열 정의
$_session = 배열()
//파일 핸들 정의
$fp = null
//사용자 정의 세션 열기 함수
함수 session_file_start() {
//1. 먼저 브라우저가 쿠키 값을 전송했는지 확인합니다.
if (isset($_cookie['fileid'])) {
//2. 쿠키 값 받기
$filename = $_cookie['파일ID']
//3. 읽고 쓰기 위해 파일을 엽니다
if (file_exists($filename)) {
$globals['fp'] = fopen($filename, 'r ')
} 다른 {
$globals['fp'] = fopen($filename, 'w')
}
} 다른 {
//2. 파일을 설정하고 쿠키에 파일 이름을 넣습니다
$filename = 날짜('ymdhis')
setcookie('fileid', $filename, time() 60*60*24)
//3. 읽고 쓰기 위해 파일을 엽니다
$globals['fp'] = fopen($filename, 'w')
} //if-else의 끝
//4. 파일의 데이터를 슈퍼 전역 배열 $_session
에 저장합니다.
while (!feof($globals['fp'])) {
//파일에서 한 줄 읽기
$buffer = fgets($globals['fp'])
//읽은 줄 처리
$tmparr = 폭발('=', Trim($buffer, 'rn'))
//세션 배열에 추가
if (count($tmparr) == 2) {
$globals['_session'][$tmparr[0]] = $tmparr[1]
}
} //동안의 끝
} //session_file_start() 끝
//세션변수 등록 함수
function session_file_register($key, $val) {
//세션 변수 설정
$globals['_session'][$key] = $val
//이 변수를 파일에 넣습니다
fseek($globals['fp'], 0, 탐색_끝)
fwrite($globals['fp'], "$key=$valrn")
} //session_file_register() 끝
//세션 변수 종료
함수 session_file_destroy() {
//1. 파일 포인터를 닫습니다
fclose($globals['fp'])
$fp = null
//2. 세션 배열을 빈 상태로 설정합니다
$globals['_session'] = 배열()
} //session_file_destroy() 끝