header("content-type:text/html;charset=utf-8");
define('SESSION_PRE', 'XX_');
define('BR', '
');
function start ($savePath , $sessionName) {
global $sessionPath;
$sessionPath = $savePath . DIRECTORY_SEPARATOR;
echo __METHOD__ . BR;
return true;
}
function close () {
echo __METHOD__ . BR;
return true;
}
function read ($sessionId) {
global $sessionPath, $sessionFile;
$sessionFile = $sessionPath . DIRECTORY_SEPARATOR . ESSION_PRE . $sessionId;
echo __METHOD__ . BR;
return @file_get_contents($sessionFile);
}
function write ($sessionId , $data) {
global $sessionFile;
$sessionFile = $sessionPath . DIRECTORY_SEPARATOR . ESSION_PRE . $sessionId;
echo __METHOD__ . BR;
return @file_put_contents($sessionFile,$data);
}
function destroy ($sessionId) {
global $sessionFile;
@unlink($sessionFile);
echo __METHOD__ . BR;
return true;
}
function gc ($maxLifeTime) {
echo __METHOD__ . BR;
global $sessionPath;
foreach(glob($sessionPath."/*") as $file){
if (filemtime($file)+$maxLifeTime
回复讨论(解决方案)
求解释
依次输出
start
read
Array ( [name] => Lielei )
write
close
怎么不对呢?
print_r($_SESSION); 后就是 ?>
这不就表示程序结束了吗?
$_SESSION 是超全局数组,无需声明就可出现在程序的任何地方
依次输出
start
read
Array ( [name] => Lielei )
write
close
怎么不对呢?
print_r($_SESSION); 后就是 ?>
这不就表示程序结束了吗?
$_SESSION 是超全局数组,无需声明就可出现在程序的任何地方
如果print_r($_SESSON);后面再加几条语句呢。
我的意思是第一次运行 程序运行到103行 ,加入下面还有代码,怎么$_session理面就有值了?
1、$_SESSON 在 session_start(); 执行时生成
2、你在 print_r($_SESSION); 后面加几个 echo 'xxxx'; 不就看到了吗
3、你都 $_SESSION['name'] = 'Lielei'; 了,$_SESSION 怎么会没有值呢?
1、$_SESSON 在 session_start(); 执行时生成
2、你在 print_r($_SESSION); 后面加几个 echo 'xxxx'; 不就看到了吗
3、你都 $_SESSION['name'] = 'Lielei'; 了,$_SESSION 怎么会没有值呢?
我就是想搞清楚它的内部执行原理,session_start()后执行了多个函数,我看官方是:PHP 会在脚本执行完毕或调用 session_write_close() 函数之后调用write函数。
那么先执行了 print,然后才是程序结束,我说的是这个执行流程,既然先执行了print,那么还没有执行write,怎么就输出了呢
我不懂啊
1、$_SESSON 在 session_start(); 执行时生成
2、你在 print_r($_SESSION); 后面加几个 echo 'xxxx'; 不就看到了吗
3、你都 $_SESSION['name'] = 'Lielei'; 了,$_SESSION 怎么会没有值呢?
我就是想搞清楚它的内部执行原理,session_start()后执行了多个函数,我看官方是:PHP 会在脚本执行完毕或调用 session_write_close() 函数之后调用write函数。
那么先执行了 print,然后才是程序结束,我说的是这个执行流程,既然先执行了print,那么还没有执行write,怎么就输出了呢
我不懂啊
一、源码特点企业费用管理系统,有权限分配,登陆验证,新增角色,发布公告等二、功能介绍1、js的兼容性有个地方不行(比如模块排序,那个时候也是雏鸟一只,写了一小撮,现在用jq应该好处理的吧,ie里面没问题,大家发挥吧)2、里面的菜单和对应菜单下面的目录项可以根据需求自己添加的,有对应模块3、可以根据自己设定的角色添加对应的访问页面4、有些操作涉及到按钮权限,对于这种思路,我粗粗的写了2个自定义控件,
$_SESSION是存在内存中的,session_write_close()是将session数据写入服务器端上的session文件的。所以在写入文件之前,你对session的取值和设置,都是针对$_SESSION这个变量的。
?面未?束,不??行session_write_close(); 所以不?更新到session文件,你?取的只是?存中的session的值。
嗯嗯,我猜也是这样,但只是猜测,所以来问下,谢谢回答









