关于超全局变量$GLOBALS的简单问题 处session以外,任何php变量都在程序结束时消失! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SESSION COOKIE存放文件或數據庫中... 像这样就不是 GLOBALS 或者 SESSION 的问题, 而是对 WEB 程序是怎么执行的不了解. 每次刷新一个 WEB 页面有点像调用函数, 函数内部的非静态变量会保留上次调用的状态吗.public function Main() { $a = $a + 1;}连续执行两次 Main 函数, 第二次调用 Main 的时候, $a 不会变成 2 吧 ? WEB 页面也是一个道理. 那到不是,jsp和asp有这种机制变量在应用程序域起作用,服务器reStart值才消失 楼主的应用用Session就够了文件开头,或者说任何输出之前放:session_start();把$GLOBALS['abc'][]= $file 换成:$_SESSION["abc"][]=$file同一个会话的页面在开头放session_start();然后用$_SESSION["abc"]访问Session域的变量Application域的变量可以通过php“共享内容”实现 “共享内容”php封装的不够好,对于一般应用,也没必要用。 PHP好象是没有Application这个概念的:)建议存放在cookie里 引用 唠叨:除session以外,任何php变量都在程序结束时消失!理论决定一切。和app不同,代码不是一直在内存里的 最简单的实现Application的方法Application.php<?phpfunction Application() { $param = func_get_args(); switch(count($param)) { case 0: return null; case 1: $v = unserialize(file_get_contents('default.global')); if(isset($v[$param[0]])) { return $v[$param[0]]; }else { return null; } default: $v = unserialize(@file_get_contents('default.global')); $v[$param[0]] = $param[1]; file_put_contents('default.global', serialize($v)); }}?>第一个页面<?phpinclude_once 'Application.php';Application('a', 123);?>第二个页面<?phpinclude_once 'Application.php';echo Application('a');?> 谢谢各位,用$_SESSION问题就解决了 关于html解码 php如何统计下载次数? 寻求 能在网页上播放.mp4格式的代码 php 下载文件出错 讨论哈cms系统静态化的问题 一个组合问题: 输出从0到10中取出5个 的所有组合 如何把www.phpclasses.org给抓下来? 如何在我的网页实时显示一批网页的alexa排名? 关于SESSION定制的问题 PHP中有没有计算“四则混合运算”表达式的简单方法? 谁有PHP用SMTP发送邮件的类?要支持SMTP验证! 有人用过photokorn么?
COOKIE
存放文件或數據庫中...
$a = $a + 1;
}连续执行两次 Main 函数, 第二次调用 Main 的时候, $a 不会变成 2 吧 ? WEB 页面也是一个道理.
jsp和asp有这种机制
变量在应用程序域起作用,
服务器reStart值才消失
文件开头,或者说任何输出之前放:
session_start();
把
$GLOBALS['abc'][]= $file
换成:
$_SESSION["abc"][]=$file同一个会话的页面
在开头放
session_start();
然后用
$_SESSION["abc"]访问Session域的变量
Application域的变量可以通过
php“共享内容”实现
建议存放在cookie里
除session以外,任何php变量都在程序结束时消失!理论决定一切。和app不同,代码不是一直在内存里的
Application.php
<?php
function Application() {
$param = func_get_args();
switch(count($param)) {
case 0:
return null;
case 1:
$v = unserialize(file_get_contents('default.global'));
if(isset($v[$param[0]])) {
return $v[$param[0]];
}else {
return null;
}
default:
$v = unserialize(@file_get_contents('default.global'));
$v[$param[0]] = $param[1];
file_put_contents('default.global', serialize($v));
}
}
?>
第一个页面
<?php
include_once 'Application.php';
Application('a', 123);
?>第二个页面
<?php
include_once 'Application.php';
echo Application('a');
?>