本文整理汇总了PHP中P2Util::getCookieDomain方法的典型用法代码示例。如果您正苦于以下问题:PHP P2Util::getCookieDomain方法的具体用法?PHP P2Util::getCookieDomain怎么用?PHP P2Util::getCookieDomain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P2Util
的用法示例。
在下文中一共展示了P2Util::getCookieDomain方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unsetCookie
/**
* クッキーを消去する。変数 $_COOKIE も。
*
* @access public
* @param string $key key, k1[k2]
* @return boolean
*/
function unsetCookie($key, $path = '', $domain = null)
{
if (is_null($domain)) {
$domain = P2Util::getCookieDomain();
}
// 配列をsetcookie()する時は、キー文字列をPHPの配列の場合のように、'' や "" でクォートしない。
// それらはキー文字列として認識されてしまう。['hoge']ではなく、[hoge]と指定する。
// setcookie()で、一時キーは[]で囲まないようにする。(無効な処理となる。) k1[k2] という表記で指定する。
// setcookie()では配列をまとめて削除することはできない。
// k1 の指定で k1[k2] は消えないので、このメソッドで対応している。
// $keyが配列として指定されていたなら
$cakey = null;
// $_COOKIE用のキー
if (preg_match('/\\]$/', $key)) {
// 最初のキーを[]で囲む
$cakey = preg_replace('/^([^\\[]+)/', '[$1]', $key);
// []のキーを''で囲む
$cakey = preg_replace('/\\[([^\\[\\]]+)\\]/', "['\$1']", $cakey);
//var_dump($cakey);
}
// 対象Cookie値が配列であれば再帰処理を行う
$cArray = null;
if ($cakey) {
eval("isset(\$_COOKIE{$cakey}) && is_array(\$_COOKIE{$cakey}) and \$cArray = \$_COOKIE{$cakey};");
} else {
if (isset($_COOKIE[$key]) && is_array($_COOKIE[$key])) {
$cArray = $_COOKIE[$key];
}
}
if (is_array($cArray)) {
foreach ($cArray as $k => $v) {
$keyr = "{$key}[{$k}]";
if (!P2Util::unsetCookie($keyr, $path, $domain)) {
return false;
}
}
}
if (is_array($cArray) or setcookie("{$key}", '', time() - 3600, $path, $domain)) {
if ($cakey) {
eval("unset(\$_COOKIE{$cakey});");
} else {
unset($_COOKIE[$key]);
}
return true;
}
return false;
}
示例2: _startSession
/**
* @return Session|null|die
*/
function _startSession()
{
global $_conf;
// 名前は、セッションクッキーを破棄するときのために、セッション利用の有無に関わらず設定する
session_name('PS');
$cookie = session_get_cookie_params();
session_set_cookie_params($cookie['lifetime'], '/', P2Util::getCookieDomain(), $secure = false);
// css.php は特別にセッションから外す。
//if (basename($_SERVER['SCRIPT_NAME']) == 'css.php') {
// return null;
//}
if ($_conf['use_session'] == 1 or $_conf['use_session'] == 2 && empty($_COOKIE['cid'])) {
if ($_conf['session_save'] == 'p2' and session_module_name() == 'files') {
_prepareFileSession();
}
return new Session();
}
return null;
}