国产高清在线免费观看-国产高清在线免费无码-国产高清在线男人的天堂-国产高清在线视频-国产高清在线视频精品视频-国产高清在线视频伊甸园

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

PHP實現類似ASP里的Application對象

admin
2012年6月7日 1:56 本文熱度 3955
以前搞過一段時間的asp,覺得application這個對象很爽。??梢院苋菀椎膶懸粋€聊天室。。。后來逐漸轉到php,就一直為這事郁悶。。因為php里面沒有對應的東西。數據只能往數據庫或者文件里面寫才能實現共享。 今天在公司做聊天室的時候,靈機一動,居然讓我發現了一神奇的方法~~哈哈:
PHP里面的$_SESSION變量可以實現類似Application的功能,但重點在它不能跨瀏覽器進程,或者說是跨用戶。。只能是單個用戶操作不同頁面時候的變量傳遞,是一種cookie的替代方案。

眾所周知,php里,調用session_start()之后,客戶瀏覽器會收到一個大概名叫PHPSESSID的cookie,這個叫session_id。不同頁面的參數共享就是靠這個變量實現的。

有時,由于客戶端瀏覽器或者其他什么神奇的原因,導致無法正常發送 PHPSESSID的時候,我們可以手動發送,然后在php里面的session_start();之前,調用session_id("sessionid在這里");手工指定session_id ,這樣,就可以讓session工作正常。(比如瀏覽器不支持cookie,或用flash上傳文件的時候)

好了,關鍵的東西來了。如果我們讓每個用戶的session_id都一樣會怎么樣? 哈哈。ASP的Application功能便呼之欲出~~~

實現方法非常簡單: 在每個php頁面的前面都寫上下面的代碼: session_id("xxxx"); session_start(); 然后,你就可以像用Application對象那樣來使用$_SESSION了。?!伞?/BLOCKQUOTE>

    PS:ASP的Application對象是存儲在內存里面的,而PHP的SESSION一般默認是用文件來存的。不過也可以設置php.ini讓php用mysql數據庫存,甚至用memcached來存~~具體方法就不詳述了。。 chy提到session本來的作用是保存用戶的登錄信息等,是非常有用的。我這樣一弄,session就失去了它原有的功能。所以我搞了一個函數,可以實現全局session和局部session共存?;ゲ桓蓴_。

/*
用法:
application('key','value'); //設置 key=value
$value = application('key'); //獲取 key的值
*/
function application()
{
$args = func_get_args(); //獲取輸入參數
if (count($args) >2 || count($args) < 1) return;
$ssid = session_id(); //保存當前session_id
session_write_close(); //結束當前session
ob_start(); //禁止全局session發送header
session_id("xxx"); //注冊全局session_id
session_start(); //開啟全局session
$key = $args[0];
if (count($args) == 2) //如果有第二個參數,那么表示寫入全局session
{
$re = ($_SESSION[$key] = $args[1]);
}
else // 如果只有一個參數,那么返回該參數對應的value
{
$re = $_SESSION[$key];
}
session_write_close(); //結束全局session
session_id($ssid); //重新注冊上面被中斷的非全局session
session_start(); //重新開啟
ob_end_clean(); //拋棄剛剛由于session_start產生的一些header輸出
return $re;
}

    當然,這樣操作的成本有點高。。不過在實際使用中,基本不會遇到使用全局session和局部session的頻率都很高的情況。所以可以按需求封裝局部session或者是全局session。 上面那個函數封裝的是全局session,稍微修改就可以實現局部session。


該文章在 2012/6/7 1:56:51 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 精品欧美一区二区三区 | 国产真实乱人伦视频 | 国产精品外围在线观看 | 无码福利一| 国产精品日本一区二区在线播放 | 一本久久a久久精品不卡 | 精品国产乱码一区二区三区麻豆 | 国产麻豆精品一区二区三区 | 亚洲av一级在线免费观看 | 精品人妻伦一二三区久久 | 欧美精品偷自拍另类在线观看 | 日韩人妻少妇中文字幕 | 亚洲午夜成人精品无码色欲 | 亚洲欧美一区二区三区国产另类 | 精品日韩一区二区三区 | 亚洲中文字幕三级电影 | 精品中文字幕无码不卡在线 | 国产精品无码无在线观看 | 人妻无码高清在线播放 | 色哟哟免费视频播放网站 | 免费国精产品自偷自偷免费看 | 人妻视频二区视频 | 久久午夜夜伦鲁鲁片无码免费 | 免费成人无码大片在线观看 | 亚洲一区二区三区高清 | 少妇高潮喷水久久久影院 | 精产国品一区二区三产区 | 亚洲国产97视频在线 | 亚洲自拍欧美综合 | av在线观看 | 久久99国产精品片久久99蜜桃 | 97久久精品人人澡人人爽 | 亚洲视频中文字幕在线不卡 | 无码人妻一区二区三区色欲av | 色欲av蜜桃一区二区三 | 在线精品视频一区二区三四 | 欧洲一级无码AV毛片免费 | 无码日韩人妻av一区二区三 | 精品国产97在线观看 | 日韩人妻喷潮在线视频 | 午夜无码片在线观看影视 |