php cookie的位置,php 设置cookie路径例子总结

摘要 腾兴 为您分享:php 设置cookie路径例子总结,智慧医疗,有图相册,上汽大众,瑞幸咖啡等软件知识,以及钢琴英雄,天天锁屏,电气计算软件,民族证券小方,qq群匿名器,i世界,cad扩展工具,fifa16补丁,58建筑,winzip解压软件,winrar3.0,自由自在论坛,暑假作业答案七年级下册,看展览,fgob服等软件it资讯, 腾兴 。对于cookie path很多的朋友不以为燃了这样会发现就是因为一个小点或一个路径问题测试了一天发现读取不了cookie值了,今天我就来给大家介绍cookie中路径的一些例子与注意细节。 先看…

对于cookie path很多的朋友不以为燃了这样会发现就是因为一个小点或一个路径问题测试了一天发现读取不了cookie值了,今天我就来给大家介绍cookie中路径的一些例子与注意细节。

先看phpcms中的一个函数

 代码如下 复制代码

phpcms/libs/classes/param.class.php

/**

* Set Cookie

* @param string $var

* @param string $value

* @param int $time

* @param string $path

*/

public static function set_cookie($var, $value = ”, $time = 0, $path = ”) {

$time = $time > 0 time : ($value == ” YS_TIME – 3600 : 0);

$s = $_SERVER[‘SERVER_PORT’] == ‘443’ : 0;

$var = pc_base::load_config(‘system’,’cookie_pre’).$var;

$path = $path == ” c_base::load_config(‘system’,’cookie_path’) : $path;

$_COOKIE[$var] = $value;

if (is_array($value)) {

foreach($value as $k=>$v) {

setcookie($var.'[‘.$k.’]’, sys_auth($v, ‘ENCODE’), $time, $path, pc_base::load_config(‘system’,’cookie_domain’), $s);

}

} else {

setcookie($var, sys_auth($value, ‘ENCODE’), $time, $path, pc_base::load_config(‘system’,’cookie_domain’), $s);

}

}

param::set_cookie(‘auth’, ”,time()-1,’/’);

这个函数与cookie没什么区别我们先不介绍它,可能很多朋友懂,下面我们再看

http://localhost/test/cookie/father.php

http://localhost/test/cookie/child/child.php

 代码如下 复制代码

//location:  locahost/test/cookie/father.php

//setcookie(“TestCookie”, $value, time() 3600, “/~rasmus/”, “.example.com”, 1);

setcookie(“father_set_1_/”,”@@@@”,time() 24*3600,”/”);

setcookie(“father_set_2_/child”,”@@@@”,time() 24*3600,”/child/”);

setcookie(“father_set_3_test/cookie/child”,”@@@@”,time() 24*3600,”/test/cookie/child/”);

print_r($_COOKIE);

/p>

 代码如下 复制代码

//location:   localhost/test/cookie/child/child.php

//setcookie(“TestCookie”, $value, time() 3600, “/~rasmus/”, “.example.com”, 1);

setcookie(“child_set_0″,”@@@@”,time() 24*3600);

setcookie(“child_set_1_/”,”@@@@”,time() 24*3600,”/”);

setcookie(“child_set_2_/child”,”@@@@”,time() 24*3600,”/child”);

setcookie(“child_set_3_/test/cookie/child/”,”@@@@”,time() 24*3600,”/test/cookie/child/”);

print_r($_COOKIE);

/p>

分别按如下顺序访问页面father.php—>child.php—>father.php—>child.php,使用firebug查看,分别有如下结果:

第一次访问child.php

  访问child.php能看到请求中发送了两个cookie分别为”father_set_1_/”、”father_set_3_test/cookie/child”,接收到四个cookie分别是”child_set_0″、”child_set_1_/”、”child_set_2_/child”、”child_set_3_/test/cookie/child/”。

页面打印出的$_COOKIE数组中有两个值,分别是请求时发送的数据。

这里有个貌似奇怪的地方,打印出的$_COOKIE数组只有两个呢,第一个father.php页面不是设置了三个cookie值吗,为什么不能访问”father_set_2_/child”呢p>

这里仔细分析就没有什么奇怪的了,浏览器每次发出请求只发送父级路径和当前路径下的cookie给服务器,服务端的$_COOKIE数组也就是来自每次请求中的发送cookie,这也意味着一个页面只能访问路径设置为当前页面路径和父路径的cookie,不能访问兄弟路径的cookie。

第二次访问child.php

再次访问child.php一共能打印出5个值,没能打印出路径为”/child”的cookie,这点说明浏览器只发送“直系”路径关系的cookie值

好了现在不知道你对cooke路径设置懂了没有其它就是我们要使用那个就设置那个路径了,如果是多域名就直接设置主域名就可以了,如果是目录指定目录就行了,如果是单文件指定单文件路径就可以了哦。

相关推荐

相关资源:汽轮机仿真软件.zip-机器学习工具类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月6日
下一篇 2021年2月6日

相关推荐