PHP의 이기에, setcookie () 함수
정의 및 사용
의 setcookie () 함수는 클라이언트에 HTTP 쿠키를 전송한다.
쿠키가 브라우저 변수 서버로부터 전송된다. 쿠키는 종종 작은 텍스트 파일에 사용자의 컴퓨터 서버에 포함된다. 브라우저를 통해 동일한 컴퓨터가 페이지를 요청할 때마다 쿠키를 보내드립니다.
쿠키 이름은 자동으로 동일한 이름의 변수에 할당된다. 쿠키가 전송되는 경우, 예를 들어, "사용자"라는 자동 쿠키의 값을 포함,라는 변수 $ 사용자를 작성합니다.
당신은 클라이언트 쿠키 할당에 대한 다른 출력 전에 보내야합니다.
성공하면, 함수는 TRUE를 반환합니다. 실패하면 FALSE를 반환합니다.
문법
参数 | 描述 |
---|---|
name | 必需。规定 cookie 的名称。 |
value | 必需。规定 cookie 的值。 |
expire | 可选。规定 cookie 的过期时间。 time()+3600*24*30 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置,那么 cookie 将在 session 结束后(即浏览器关闭时)自动失效。 |
path | 可选。规定 cookie 的服务器路径。 如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。 |
domain | 可选。规定 cookie 的域名。 为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 ".example.com"。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。 |
secure | 可选。规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输,则设置为 TRUE。默认是 FALSE。 |
팁과주의 사항
팁 : HTTP_COOKIE_VARS [ "사용자"] 또는 $ _COOKIE을 $ 할 수 있습니다 [ "사용자"] 쿠키의 "사용자"라는 값에 액세스 할 수 있습니다.
참고 : 쿠키를 보낼 때, 쿠키의 값이 자동으로 URL 인코딩됩니다.자동으로 URL이 수신 디코딩. 이렇게하면, 당신은 나 setrawcookie ()를 사용하는 대신 수 있습니다.
예 1
설정 및 쿠키를 보낼 :
$value = "my cookie value";
// send a simple cookie
setcookie("TestCookie",$value);
?>
<html>
<body>
...
...
$value = "my cookie value";
// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...
예 2
(쿠키 설정 후) 쿠키 값을 검색하는 다른 방법 :
<body>
<?php
// Print individual cookies
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Print all cookies
print_r($_COOKIE);
?>
</body>
</html>
가 출력 위의 코드 :
my cookie value
Array ([TestCookie] => my cookie value)
예 3
과거의 날짜 / 시간에 유효 기간으로 쿠키를 제거 :
// Set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
예 4
쿠키의 배열을 만듭니다
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// print cookies (after reloading page)
if (isset($_COOKIE["cookie"]))
{
foreach ($_COOKIE["cookie"] as $name => $value)
{
echo "$name : $value <br />";
}
}
?>
<html>
<body>
...
...
가 출력 위의 코드 :
two : cookietwo
one : cookieone
전체 PHP HTTP 참조 설명서