>  기사  >  백엔드 개발  >  PHP에서 쿠키를 읽는 방법

PHP에서 쿠키를 읽는 방법

伊谢尔伦
伊谢尔伦원래의
2017-04-25 13:39:036165검색

쿠키가 성공적으로 설정되면 클라이언트는 웹 서버에서 설정한 사용자 정보를 일정 기간 동안 저장하기 위한 쿠키 파일을 갖게 됩니다. 클라이언트에서 Windows 시스템을 사용하여 서버의 스크립트를 탐색한다고 가정하면 쿠키 파일은 "C:Documents and Settings 사용자 이름 쿠키" 폴더에 저장됩니다. 쿠키는 일반적인 텍스트 파일 형태로 정보를 기록합니다. 텍스트 편집기를 이용하여 직접 열어서 찾아볼 수 있지만, 쿠키 파일에 있는 정보를 직접 읽는 것은 의미가 없습니다. 대신, 고객이 해당 웹사이트를 다시 방문할 경우, 브라우저는 자동으로 해당 웹사이트에 해당하는 모든 쿠키 정보를 서버로 전송합니다. PHP5부터 클라이언트에서 전송된 모든 쿠키 정보는 $_COOKIE 전역 배열 에 자동으로 저장되므로 각 PHP 스크립트의 이 배열에서 해당 쿠키 정보를 읽을 수 있습니다. $_COOKIE 전역 배열은 쿠키 식별 이름을 인덱스 값으로, 콘텐츠 값을 요소로 하여 HTTP를 통해 전달된 모든 쿠키 데이터의 내용을 저장합니다.

쿠키 ​​설정 스크립트에서는 해당 정보를 처음 읽어도 적용되지 않습니다. 쿠키 값을 보려면 클라이언트에 먼저 쿠키를 설정해야 하기 때문입니다. 접속 시에만 전송이 가능하며, 이후 획득이 가능합니다. 따라서 쿠키가 성공적으로 설정되었는지 테스트하려면 쿠키가 만료되기 전에 다른 페이지를 통해 해당 값에 액세스할 수 있습니다.

PHP에서는 슈퍼글로벌 변수배열 $_COOKIE[]를 통해 브라우저 측에서 쿠키 값을 직접 읽을 수 있습니다.

예제 코드는 다음과 같습니다.

<?php
  date_default_timezone_set(&#39;PRC&#39;);       //设置时区
 if(!isset($_COOKIE[&#39;time&#39;])){                //检测 Cookie 文件是否存在
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;));    //设置一个 Cookie 变量
    echo "第一次访问";
 }else{
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;),time()+60);   //设置保存  Cookie 失效的时间的变量
    echo "上次访问的时间为:".$_COOKIE[&#39;time&#39;];        //输出上次访问网站的时间
    echo &#39;<br>&#39;;
 }
    echo "本次访问的时间为:".date(&#39;y-m-d H:i:s&#39;);     //输出当前的访问时间
?>

위 코드에서 먼저 isset()함수를 사용하여 쿠키 파일이 있는지 확인합니다. 존재하지 않으면 setcookie() 함수를 사용하여 쿠키를 생성하고 해당 문자열을 출력합니다. 쿠키 파일이 존재하는 경우 setcookie() 함수를 사용하여 파일 만료 시간을 설정하고 사용자의 문자열을 출력합니다. 마지막 방문 웹사이트의 시간, 마지막으로 현재 위치 웹사이트의 현재 시간이 페이지에 출력됩니다.

처음 인스턴스 실행 시 쿠키 파일이 검출되지 않아 실행 결과 그래프는 다음과 같습니다.

PHP에서 쿠키를 읽는 방법

사용자가 설정한 경우 쿠키 만료 시간(위) 인스턴스는 60초) 웹 페이지를 새로 고치거나 다시 웹 페이지에 액세스하기 전에 실행 결과는 다음과 같습니다.

PHP에서 쿠키를 읽는 방법

참고: 쿠키 만료 시간이 설정되어 있지 않으면 브라우저가 자동으로 닫힙니다. 쿠키 데이터가 삭제됩니다. 쿠키에 만료 시간이 설정되어 있으면 브라우저는 쿠키 데이터를 기억합니다. 컴퓨터를 다시 시작하더라도 만료되지 않은 한, 웹사이트를 다시 방문할 때 액세스한 데이터 정보를 얻을 수 있습니다.

위 내용은 PHP에서 쿠키를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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