php保存變數
A. php 如何讓一個變數長期存在
1、PHP程序結束了,變數當然就會銷毀。如果你要變數活下去,那就得給他一個地方活著。
資料庫是一個地方,memcache/redis之類的內存是一個地方,硬碟是一個地方,第三方存儲API也是一個地方。
2、因為PHP木有daemon,PHP變數的生命周期是頁面級別的,頁面結束了,變數也就結束了,保存在redis或者memcached。
B. php中存放變數的文件 是哪個
php系統存放的變數有些在php.ini文件里,有些在內存里。
你自己定義的變數愛放在哪都是可以滴
C. 請問各位牛人 php如何在跳轉的頁面中保存全局變數呢
用session或者cookie
或者用ipc
或者你序列化(函數 serialize)後在在對序列化的進行url編碼,放在跳轉到的頁面地址的後面
然後用get獲取,再解碼,unserialize就可以了。
D. php怎麼實現跨頁面保存變數 在調用變數
用setcookie函數,如setcookie("username",$user);
調用的時候就是這個值$_COOKIE['username'];
只用php就可以搞定了。
E. PHP 怎麼永久保存多個變數(不上傳資料庫)
不存資料庫,那就只好存伺服器上的文件中。
如果是全局的配置,只能存伺服器上;
如果是用戶配置,也可以存在Cookie里,但是這個不是永久的,用戶清除Cookie就沒了,根據你的業務需要選擇。
F. php怎麼跨頁面保存變數
一般用cookie、session跨頁面傳值,用戶信息用session更安全
session_start();
$_SESSION['user']=value;//設置值
echo$_SESSION['user'];//使用
G. php 用文件來保存變數
比較好的方法是通過序列化來進行保存。
不妨假設有變數$a, $b, $c,代碼如下:
$array=array("a"=>$a,"b"=>$b,"c"=>$c);
$content=serialize($array);
$fp=fopen("file","w");
@fwrite($fp,$content);
這樣,$a, $b, $c的內容就保存在了一個叫做「file」的文件中了。用的時候可以這么用
$handle=fopen("file","r");
$content=fread($handle,filesize("file"));
fclose($handle);
$array=unserialize($conten);
$a=$array["a"];
$b=$array["b"];
$c=$array["c"];
H. PHP怎麼每天自動將一個變數的值另外保存起來,變數值每天都會變,我需要將一段時間的變數值記錄下來
數據存儲的問題:
內存存儲: 新建map變數->存入每天的值 缺點(丟失)
文件存儲:文件操作存儲到文本或excel中 (慢,操作不友好)
資料庫存儲:新建個表存
I. php如何用session保存變數
在php所有輸出之前調用session_start();
然後你把session當超級數組來使用就行。
比如
賦值:$_SESSION['username'] = ''berryblue;
取值:$username = $_SESSION['username'];
判斷: isset($_SESSION['username']),,empty($_SESSION['username']);
銷毀:unset($_SESSION['username']);
J. php 全局變數$_SERVER $EVN 怎麼存
首先,PHP中肯定沒有類似asp或者java中的application對象的變數
其次,您可以將變數放置在DB或者文件中,使用的時候去讀取。修改的時候,如果您的用戶特別多,還要控制並發性的問題,DB中的話表要加個更新鎖,在文件中要在修改的時候要先加鎖,修改完畢保存後要解鎖。
這里有一段計數器的代碼,自己實現了Application變數。看一下能不能參考:
<?php
function Application(){
global $_APPLICATION,$_APPLICATION_COPY;
register_shutdown_function('_Application');
$_APPLICATION = $_APPLICATION_COPY = @unserialize(file_get_contents("application.txt"));
}
function _Application(){
global $_APPLICATION,$_APPLICATION_COPY;
if($_APPLICATION != $_APPLICATION_COPY){
@file_put_contents("application.txt",serialize($_APPLICATION));
}
}
Application();
echo $_APPLICATION['count']++;