php刪除cookies,php刪除文件夾

本文目錄一覽:

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時會刪除所有。

希望可以幫到你 : )

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/204355.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-07 12:17
下一篇 2024-12-07 12:17

相關推薦

  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python打開文件夾下所有文件

    本文將從以下幾個方面對Python打開文件夾下所有文件進行詳細闡述,希望對大家有所幫助: 一、如何使用Python打開指定文件夾下的所有文件 在Python中,可以使用os模塊的w…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • Python刪除空文件夾的終極解決方案

    本文將詳細介紹如何使用Python刪除空文件夾,為您講解從多個方面進行操作的方法,以實現快速高效的清空文件夾。 一、檢測空文件夾方法 在Python中檢測文件夾是否為空很容易,僅需…

    編程 2025-04-27
  • .mvn文件夾:優化Maven項目管理的關鍵

    本文將從多個方面詳細闡述.mvn文件夾,幫助讀者更好地了解如何利用.mvn文件夾優化Maven項目管理。 一、為什麼需要.mvn文件夾? Maven是目前應用較廣泛的Java項目構…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27

發表回復

登錄後才能評論