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']++;