首页 > 编程知识 正文

php删除cookies,php删除文件夹

时间:2024-03-25 09:50:01 阅读:332683 作者:HLWH

本文目录一览:

php 如何清除当前域的所有cookie

FOREACH扫描$_COOKIE里面的所有定义,逐一删除,例如:

foreach ($_COOKIE as $c=$v) setcoolie($c,'',-1);

3.PHP核心技术

Cookie 和 session 是两种不同的存储机制。cookie 是从一个外部页面到下一个页面的数据传递的方法,它一般是存储在客户端的。Session 是让数据在页面当中具有持续有效的一个方法。他一般是存储在服务器端。

Cookie 是一种在客户浏览器端存储数据,并且以此来去跟踪和识别用户的一种机制。简单的说呢,cookie 是 Web 服务器暂时存储在用户的硬盘上的一个文本文件。

web 服务器可以通过 Cookie 包含的信息来筛选或维护这些信息。用来判断 HTTP 传输的状态。

在 PHP 中通过 setcookie()函数创建 Cookie,在创建 Cookie 之前,要了解 Cookie 是 HTTP 头标的组成部分。

通过超全局变量数组$_COOKIE[ ]来读取浏览器端的 Cookie 值

是自动删除Cookie数据,如果设置了失效时间,浏览器会记住Cookie数据,即使重启计算机,只要时间不到,都依然有效。

1.使用 setcookie()函数删除 Cookie

2.在浏览器中手动删除

如果 Cookie 不设定失效时间,就表示它的生命周期,就为浏览器会话的期间的这个时间。只要关闭浏览器,Cookie 就会自动消失。这种 cookie 被称之为叫会话 cookie。一般情况下,啊,不存在硬盘上的,而是保存在这个内存里边。

如果设置失效时间,浏览器会把 cookie 保存到硬盘上,再次打开浏览器的时候,依然会有效,只要时间未过期,就一直有效。直到到达有效时间。

虽然,cookie 可以长期保存在客户端的浏览器当中。但是浏览器最多允许存储 300 个 cookie 文件。而且每一个 Cookie 文件支持最大容量只有 4kb。每一个域名最多只支持 20 个 cookie。如果达到限制,浏览器会自动随机的删除 cookie 文件。

Session 在翻译的时候呢也翻译为“会话”。他原本的意思就是指,有始有终的一系列的动作或者消息。比如你打电话的时候从拿起电话拨电话号码一直到挂断电话这一系列的过程就可以称之为一个 Session。

启动一个 session 会话时,会生成一个随机且唯一的 session_id。也就是 session 的文件名。session_id 存储在服务器的内存中。当你关闭页面的时候,这个 id 会自动注销。重新再登录这个页面的时候呢,会再次生成一个随机且唯一的 id。

创建一个会话需要的步骤

启动会话-注册会话-使用会话-删除会话

1.启动会话 注册会话

启动 PHP 会话的方式有两种方式:1、使用 session_start()函数,2.使用 session_register()函数为会话创建一个变量来隐含的启动会话

3.删除会话

1.删除单个

2.删除多个

3.结束当前会话

1.session_set_cookie_params() 设置 session 的失效时间,这个函数是 Session 结合 Cookie 设置失效时间。

此函数在一些浏览器上会出现问题。所以一般建议手动设置。

2.使用 setcookie() 可以设置 Session 的失效时间,

使用 GD2 函数库可以实现对各种图形图像的处理,先使用 GD2 函数库来创建画布。通过 imagecreate()实现.

使用 imageTTFText()函数将文字以 TTF 字体输出在图像中。 1.使用 header()函数定义输出的图像类型。

2.imagecreatefromjpeg()函数载入图片。

3.imagecolorallocate()函数设置输出字体颜色。 4.定义输出的中文字符串所使用的字体。 5.通过 iconv()函数对输出的中文字符串的编码格式进行转换。 6.使用 imageTTFText()函数向图片中添加文字。 7.创建图像,释放资源。

文件处理包括读取、关闭、重写等。

打开/关闭文件使用 fopen()函数和 fclose()函数。(千万小心,别误删了文件)

1.打开文件/关闭文件

1.从文件中读取数据

2.文件写入

php 除了可以对文件进行读写之外,对文件本身同样也可以进行操作。比如说复制重命名,查看修改日期,等等都可以。

1.打开目录

使用 opendir()函数打开目录

2.关闭目录

使用 closedir()函数关闭目录

1.使用 scandir()函数

2.readdir() 函数

chmod($pathname,权限);

权限分别使用3个值:

要想去顺利地实现这个上传功能,我们要在php.ini这个文件里面去修改它的配置.

$_FILES变量它存储的是上传文件的相关信息。对于我们去完成上传文件的这个功能提供一些参数信息。

先在a.html 页面完成表单元素的创建,使用input type="file"元素提供上传文件的入口。

move_uploaded_file(string filename,string destinationnpath)函数上传文件存储到指定的位置。

创建upload.php 文件用来处理客户端上传过来的文件的信息,包括文件的存储。

php 清除COOKIE值的方法

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

要删除cookie需要确保它的失效期是在过去,才能触发浏览器的删除机制。

下面的例子说明了如何删除刚才设置的cookie:

?php

//将过期时间设为一小时前

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

setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);

?

删除一个cookie的方法就是把这个cookie的有效期设置为当前时间以前,这也是几乎所有php程序员都会这么做。

后来一个初接触php的朋友告诉我,他在程序中本想把一个cookie的值设置为空,结果导致这个cookie直接被删除。我当时的第一反应是不相信,于是测试

了一下:

setcookie("testcookie", '');

print_r($_COOKIE);

结果果然是整个$_COOKIE数组都是空的,而非仅仅$_COOKIE['testcookie']为空。于是用winsock抓包,观察返回的http头,发现http头竟然是“Set-Cookie: testcookie=deleted; expires=Mon, 18-Jun-2007 02:42:33 GMT”,这说明“setcookie("testcookie", '');”的的确确是将testcookie这个cookie直接删除,而关于这种情况在php手册中完全没有说明。

最后阅读php源码,终于发现真相(这就是开源的好处了,有什么不清楚的内幕,直接查源码)。

以下代码可以在php5.20的linux源码包中ext/standard/head.c第99行附近找到:

if (value value_len == 0) {

/*

* MSIE doesn't delete a cookie when you set it to a null value

* so in order to force cookies to be deleted, even on MSIE, we

* pick an expiry date 1 year and 1 second in the past

*/

time_t t = time(NULL) - 31536001;

dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC);

sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);

efree(dt);

} else {

sprintf(cookie, "Set-Cookie: %s=%s", name, value ? encoded_value : "");

if (expires 0) {

strcat(cookie, "; expires=");

dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC);

strcat(cookie, dt);

efree(dt);

}

}

源码中清清楚楚的显示“if (value value_len == 0)”,当“value_len”为0时,“sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);”会发送删除cookie的http头给浏览器。

最后我们可以得出结论:在php中使用“setcookie($cookiename, '');”或者“setcookie($cookiename, NULL);”都会删除cookie,当然这些手册中并没有。

是不是很简单呢,有时候我们还是非常有必要好好读读php源码的。

php怎么删除cookie深入探讨

删除和种cookie都是用setcookie函数

区别就是cookie的过期参数,如果过期参数早于当前时间,则输出的时候就是删除cookie

例如要删除名为name1的cookie,只需设置name1的cookie过期时间为-1,就可删除了

如何删除有一个cookie值 php

删除cookie的值,其实意思就是将cookie的时间设置为过去时间。

例如:setcookie('名',"",time()-3600);

当然具体需要看setcookie函数的参数设置意思,例如第一个是名字,第二个是值,第三个是过期时间等。

如果你想删除所有,直接可以设置为空。

setcookie('名',''); 你这样打印print_r($_COOKIE);得到的数据肯定是空。因为在PHP源码中可以知道,当传的值为空或0时会删除所有。

希望可以帮到你 : )

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