이 기사의 예에서는 두 번째 수준 도메인 이름의 액세스 가능한 작업을 실현하기 위해 PHP에서 쿠키를 사용하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
쿠키는 일부 애플리케이션에서 매우 일반적으로 사용됩니다. 기본 도메인 이름에 바인딩된 쿠키에 동시에 액세스할 수 있어야 하는 다중 레벨 도메인 이름이 있다고 가정해 보겠습니다. 다음은 setcookie 사용 방법에 대한 자세한 소개입니다. 기본 도메인 이름에 성공적으로 액세스할 수 있는 보조 도메인 이름을 얻으려면 PHP에서 쿠키 값 방법을 사용하세요.
때때로 두 도메인 이름이 서로 다른 서버에 있을 수 있지만, 보조 도메인 이름이 기본 도메인 이름의 쿠키에 성공적으로 액세스할 수 있고 기본 도메인 이름이 보조 도메인 이름의 쿠키에 성공적으로 액세스할 수 있기를 바랍니다. www.jb51.net 및 blog.jb51.net
에 대한 쿠키에 액세스할 수 있기를 바랍니다.
다음은 여러분이 자주 듣게 될 글로벌 쿠키 설정 방법 3가지를 소개합니다.
첫 번째 예제 코드는 다음과 같습니다.
setcookie("jb51",$s,time() 3600*12 ,'/','*.jb51.net');
*번은 쿠키 설정에 실패했습니다
두 번째 예제 코드는 다음과 같습니다.
setcookie("jb51",$s,time() 3600*12 ,'/','.jb51.net');
ss.jb51.net에서 올바르게 읽을 수 있도록 글로벌 쿠키를 성공적으로 설정했습니다
세 번째 예제 코드는 다음과 같습니다.
setcookie("jb51",$s,time() 3600*12 ,'/','jb51.net');
글로벌 쿠키가 성공적으로 설정되었으며 ss.jb51.net에서 올바르게 읽을 수 있습니다
이 방법에 대한 이해는 jb51.net만 읽을 수 있다는 것입니다. FireFox에서는 테스트가 성공하고 IE에서는 테스트가 성공합니다.
setcookie("jb51",$s,time() 3600*12 ,'/','ss.jb51.net');
ss.jb51.net 도메인 이름 아래에서만 올바르게 읽을 수 있는 쿠키를 설정합니다. 인터넷에서 말하는 표준은 .jb51.net이며, *도 있습니다(아래 내용은 완전히 틀린 내용입니다). 좋은 PHP 추천 쿠키 작업 클래스는 쿠키를 설정하고, 쿠키를 얻고, 쿠키를 삭제할 수 있습니다.
/**
* PHP 쿠키类
* 클래스:PHP_COOKIE
*/
클래스 PHP_COOKIE
{
var $_name = "";
var $_val = 배열();
var $_expires;
var $_dir = '/';// 모든 디렉토리
var $_site = '';
함수 PHP_COOKIE($cname, $cexpires="", $cdir="/", $csite="")
{
$this->_name=$cname;
if($cexpires){
$this->_expires=$cexpires;
}
그렇지 않으면{
$this->_expires=time() 60*60*24*30*12; // ~12개월
}
$this->_dir=$cdir;
$this->_site=$csite;
$this->_val=배열();
$this->추출();
}
함수 추출($cname="")
{
if(!isset($_COOKIE)){
글로벌 $_COOKIE;
$_COOKIE=$GLOBALS["HTTP_COOKIE_VARS"];
}
if(emptyempty($cname) && isset($this)){
$cname=$this->_name;
}
if(!emptyempty($_COOKIE[$cname])){
if(get_magic_quotes_gpc()){
$_COOKIE[$cname]=슬래시 제거($_COOKIE[$cname]);
}
$arr=unserialize($_COOKIE[$cname]);
if($arr!==false && is_array($arr)){
foreach($arr as $var => $val){
$_COOKIE[$var]=$val;
if(isset($GLOBALS["PHP_SELF"])){
$GLOBALS[$var]=$val;
}
}
}
if(isset($this)) $this->_val=$arr;
}
// 전체局范围内移除쿠키
unset($_COOKIE[$cname]);
unset($GLOBALS[$cname]);
}
함수 put($var, $value)
{
$_COOKIE[$var]=$값;
$this->_val["$var"]=$value;
if(isset($GLOBALS["PHP_SELF"])){
$GLOBALS[$var]=$값;
}
if(emptyempty($value)){
unset($this->_val[$var]);
}
}
함수 클리어()
{
$this->_val=배열();
}
함수 집합()
{
if(emptyempty($this->_val)){
$cookie_val="";
}
그렇지 않으면 {
$cookie_val=serialize($this->_val);
}
if(strlen($cookie_val)>4*1024){
Trigger_error("$this->_name 쿠키가 최대 쿠키 크기에 대한 사양을 초과합니다. 일부 데이터가 손실될 수 있습니다.", E_USER_WARNING);
}
setcookie("$this->_name", $cookie_val, $this->_expires, $this->_dir, $this->_site);
}
}
?>
希望本文所述对大家的PHP程序设计有所帮助。