/**
* 读取或写入Cookie信息
* @param string $name 名称
* @param string $value 值
* @param int $expire 秒数
* @param string $path 路径,默认站点目录
*/
function cookie($name, $value = null, $expire = null, $path = null, $domain = null, $secure = null, $httponly = false) {
if (! is_null($value)) {
$path = SITE_DIR . '/';
if (is_string($value))
$value = trim($value);
$_COOKIE[$name] = $value; // 让cookie立即生效
if (! is_null($expire)) {
return setcookie($name, $value, time() + $expire, $path, $domain, $secure, $httponly);
} else {
return setcookie($name, $value, 0, $path, $domain, $secure, $httponly);
}
} else {
if (isset($_COOKIE[$name])) {
return escape_string($_COOKIE[$name]);
} else {
return null;
}
}
}
/**
* 读取或写入session信息
* @param string $name 支持点分多级获取
* @param mixed $value 设置值
* @return string|NULL|unknown
*/
function session($name, $value = null) {
if (! isset($_SESSION)) {
session_start(); // 自动启动会话
}
if (! is_null($value)) {
if (isset($_SESSION[$name])) {
if ($_SESSION[$name] != $value) {
$_SESSION[$name] = $value;
}
} else {
$_SESSION[$name] = $value;
}
return $value;
} else {
if (strpos($name, '.')) {
if (isset($_SESSION[$name])) {
return $_SESSION[$name];
}
$names = explode('.', $name);
if (! isset($_SESSION[$names[0]])) {
return null;
}
$var = $_SESSION[$names[0]];
$len = count($names);
for ($i = 1; $i < $len; $i ++) {
if (is_array($var)) {
if (isset($var[$names[$i]])) {
$var = $var[$names[$i]];
} else {
return null;
}
} elseif (is_object($var)) {
if (isset($var->{$names[$i]})) {
$var = $var->{$names[$i]};
} else {
return null;
}
} else {
break;
}
}
return $var;
} else {
if (isset($_SESSION[$name])) {
return $_SESSION[$name];
} else {
return null;
}
}
}
}
// 检查会话参数是否存在
function issetSession($name) {
if (! isset($_SESSION)) {
session_start(); // 自动启动会话
}
return isset($_SESSION[$name]);
}
如无特殊说明《PHP - 处理 Cookie 和 Session 的简单封装》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-238.html