当前位置: 首页>>代码示例>>PHP>>正文


PHP P2Util::getCookieDomain方法代码示例

本文整理汇总了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;
 }
开发者ID:poppen,项目名称:p2,代码行数:54,代码来源:P2Util.php

示例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;
}
开发者ID:poppen,项目名称:p2,代码行数:22,代码来源:conf.inc.php


注:本文中的P2Util::getCookieDomain方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。