首页 > 编程知识 正文

php之cookie支持详解(thinkphp cookie)

时间:2023-12-20 12:40:56 阅读:318203 作者:JYNQ

本文目录一览:

在php中怎么设置cookie

php设置和获取cookie

setcookie('mycookie','value');

//函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)

echo($mycookie);

echo($HTTP_COOKIE_VARS['mycookie']);

echo($_COOKIE['mycookie']);

删除Cookie

(1)调用只带有name参数的setcookie();

(2)使失效时间为time()或time-1;

?php setcookie('name'); ?

setcookie('mycookie');或setcookie('mycookie','');或setcookie("mycookie",false);

//setcookie('mycookie','',time()-3600);

echo($HTTP_COOKIE_VARS['mycookie']);

print_r($_COOKIE);

建议删除方法:

setcookie('mycookie','',time()-3600);

PHP提供一个很好用的函数mktime()。

你只要按顺序传送给mktime()你希望表示的小时,分钟,秒数,月份,日期,及年份,

mktime()就会返回该日期自1970年1月1日的总秒数。

因此,如果需要模拟 Y2K 问题:

$y2k = mktime(0,0,0,1,1,2000);

setcookie('name','value',$y2k);

setcookie('name', 'value', time+3600);

setcookie('name', 'value', $y2k, '~/myhome', '.domain.com');

获取COOKIE过期时间的办法

$expire = time() + 86400; // 设置24小时的有效期

setcookie ("var_name", "var_value", $expire); // 设置一个名字为var_name的cookie,并制定了有效期

setcookie ("var_name_expire", $expire, $expire); // 再将过期时间设置进cookie以便你能够知道var_name的过期时间

注:

在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。

如果你不需要这样,可以使用 setrawcookie() 代替。

在php中如何使用cookie?

setcookie() 函数用于设置 cookie

例如创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期:

?php

setcookie("user", "Alex Porter", time()+3600);

?

取回 cookie 的值

?php

echo $_COOKIE["user"];

print_r($_COOKIE);

?

当删除 cookie

?php

// set the expiration date to one hour ago

setcookie("user", "", time()-3600);

?

详解PHP中cookie和session的区别及cookie和session用法小结

cookie:

值保存在客户端。

客户端和服务端都能够创建。

客户端和服务端都能够获取到。

可以在服务端的任何位置开始使用,无需事先声明。

session:

值保存在服务端,客户端只保存标识。

只能被服务端创建。

只能在服务端获取到值。

必须在所有输出前使用session_start(),申明开启。然后才能在后续的执行使用。

php 带cookie访问链接

四、需要cookie支持的采集

对于模拟登录的应用,单单提交参数和模拟来路并不能解决问题,这时候我们就需要保存或者提交相应的Cookie参数,这个在PHP cURL里面也提供了相应的参数: 

CURLOPT_COOKIE: 直接使用字符串方式提交cookie参数 

CURLOPT_COOKIEFILE: 使用文件方式提交cookie参数 

CURLOPT_COOKIEJAR: 保存提交后反馈的cookie数据

//使用提交后得到的cookie数据做参数

curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file);

更多内容请参考我的博客《PHP cURL实现模拟登录与采集使用方法详解教程》

PHP如何读取COOKIES

【IT168 技术文档】必须在服务器传送任何内容给客户浏览器之前为 Cookies 赋值。要做到这一点, cookies 的设置就必须放在 HEAD 标签内: ?phpsetcookie("CookieID", $USERID);? HTML BODY /BODY /HTML setcookie 函数一共有六个参数,用逗号来分隔:

cookie 的名称,是一个字符串,例如: "CookieID" 。其间不允许有冒号,逗号和空格。这个参数是必须的,而其它的所有参数都是可选的。如果只有这一个参数被给出,那么这个 cookie 将被删除。

cookie 的值,通常是一个字符串变量,例如: $USERID 。也可以为它赋一个 ? 来略过值的设置。

cookie 失效的时间。如果被省略(或者被赋值为零), cookie 将在这个对话期( session )结束后失效。这个参数可以是一个绝对的时间,用 DD-Mon-YY HH:MM:SS 来表示,比如: "24-Nov-99 08:26:00" 。而更常用的是设置一个相对时间。这是通过 time() 函数或者 mktime 函数来实现的。比如 time()+3600 将使得 cookie 在一个小时后失效。

一个路径,用来匹配 cookie 的。当在一个服务器上有多个同名的 cookie 的设置,为避免混淆,就要用到这个参数了。使用 "/" 路径的和省略这个参数的效果是一样的。要注意的是 Netscape 的 cookie 定义是把域名放在路径的前面的,而 PHP 则与之相反。

服务器的域名,也是用来匹配 cookie 的。要注意的是:在服务器的域名前必须放上一个点( . )。例如: ".friendshipcenter.com" 。因为除非有两个以上的点存在,否者这个参数是不能被接受的。

cookie 的安全级,是一个整数。 1 表示这个 cookie 只能通过“安全”的网络来传送。 0 或者省略则表示任何类型的网络都可以

PHP中如何使用Cookie

比如设置一个名为 MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)echo $MyCookie;echo $CookieArray[0];echo $_COOKIE["MyCookie"];echo $HTTP_COOKIE_VARS["MyCookie"];要删除一个已经存在的Cookie,有两个办法:1、SetCookie(“Cookie”, “”);2、SetCookie(“Cookie”, “value” , time()-1 / time() );使用Cookie的限制1、必须在HTML文件的内容输出之前设置;2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。3、限制是在客户端的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。