本文整理汇总了PHP中P2Util::unsetCookie方法的典型用法代码示例。如果您正苦于以下问题:PHP P2Util::unsetCookie方法的具体用法?PHP P2Util::unsetCookie怎么用?PHP P2Util::unsetCookie使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类P2Util
的用法示例。
在下文中一共展示了P2Util::unsetCookie方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unSession
/**
* $_SESSIONでセッションを破棄する
*
* セッションがない、もしくは正しくない場合などに
* http://jp.php.net/manual/ja/function.session-destroy.php
*
* @return void
*/
public static function unSession()
{
global $_conf;
// セッションの初期化
// session_name("something")を使用している場合は特にこれを忘れないように!
if (!self::$_session_started) {
session_start();
}
// セッション変数を全て解除する
$_SESSION = array();
// セッションを切断するにはセッションクッキーも削除する。
$session_name = session_name();
if (isset($_COOKIE[$session_name])) {
//setcookie($session_name, '', time() - 42000);
P2Util::unsetCookie($session_name);
unset($_COOKIE[$session_name]);
}
// 最終的に、セッションを破壊する
if (isset($_conf['session_dir'])) {
$session_file = $_conf['session_dir'] . '/sess_' . session_id();
} else {
$session_file = session_save_path() . '/sess_' . session_id();
}
session_destroy();
if (file_exists($session_file)) {
unlink($session_file);
}
}
示例2: setCookieCid
/**
* CIDをcookieにセットする
*
* @access protected
* @return boolean
*/
function setCookieCid($user_u, $pass_x, $ignore_cip = null)
{
global $_conf;
$time = time() + 60 * 60 * 24 * $_conf['cid_expire_day'];
if (!is_null($ignore_cip)) {
if ($ignore_cip) {
P2Util::setCookie('ignore_cip', '1', $time);
$_COOKIE['ignore_cip'] = '1';
} else {
P2Util::unsetCookie('ignore_cip');
// 念のためドメイン指定なしも
setcookie('ignore_cip', '', time() - 3600);
}
}
if ($cid = $this->makeCid($user_u, $pass_x)) {
return P2Util::setCookie('cid', $cid, $time);
}
return false;
}
示例3: 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;
}
示例4: _postIt
/**
* レスを書き込む or 新規スレッドを立てる
* スレ立ての場合は、$key は空 '' でよい
*
* @return boolean|string 書き込み成功なら true、失敗なら false または失敗理由文字列
*/
function _postIt($host, $bbs, $key, $post, $bbs_cgi)
{
global $_conf, $popup, $rescount, $ttitle_en, $STYLE, $post_cache;
list($request, $send_host, $send_port) = _buildRequestForPost($host, $bbs, $key, $post, $bbs_cgi);
$maru_kakiko = empty($_POST['maru_kakiko']) ? 0 : 1;
P2Util::setConfUser('maru_kakiko', $maru_kakiko);
// 書き込みを一時的に保存
$failed_post_file = P2Util::getFailedPostFilePath($host, $bbs, $key);
$cont = serialize($post_cache);
if (!DataPhp::writeDataPhp($failed_post_file, $cont, $_conf['res_write_perm'])) {
p2die('ファイルの書き込みエラー');
}
// p2 sambaのチェック
if ($p2SambaErrorMsgHtml = _getP2SambaErrorMsgHtml($host, $bbs)) {
_showPostMsg(false, $p2SambaErrorMsgHtml, false);
return false;
}
// WEBサーバへ接続
$fp = fsockopen($send_host, $send_port, $errno, $errstr, $_conf['fsockopen_time_limit']);
if (!$fp) {
_showPostMsg(false, "サーバ接続エラー: {$errstr} ({$errno})<br>p2 Error: 板サーバへの接続に失敗しました", false);
return false;
}
// HTTPリクエスト送信
fwrite($fp, $request, strlen($request));
$post_seikou = false;
$p2cookies = _readCookieFile(_cachePathForCookieByHost($host));
// header
while (!feof($fp)) {
$l = fgets($fp, 8192);
// クッキーキタ
if (preg_match("/Set-Cookie: (.+?)\r\n/", $l, $matches)) {
$cgroups = explode(";", $matches[1]);
if ($cgroups) {
foreach ($cgroups as $v) {
if (preg_match("/(.+)=(.*)/", $v, $m)) {
$k = ltrim($m[1]);
if ($k != 'path') {
$p2cookies[$k] = $m[2];
}
}
}
}
// 転送は書き込み成功と判断
} elseif (preg_match("/^Location: /", $l, $matches)) {
$post_seikou = true;
}
if ($l == "\r\n") {
break;
}
}
// クッキーをファイルに保存する
_saveCookieFile($p2cookies, _cachePathForCookieByHost($host));
// body
$response = '';
while (!feof($fp)) {
$response .= fread($fp, 164000);
}
fclose($fp);
// be.2ch.net or JBBSしたらば 文字コード変換 EUC→SJIS
if (P2Util::isHostBe2chNet($host) || P2Util::isHostJbbsShitaraba($host)) {
$response = mb_convert_encoding($response, 'SJIS-win', 'eucJP-win');
//<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
$response = preg_replace("{(<head>.*<META http-equiv=\"Content-Type\" content=\"text/html; charset=)EUC-JP(\">.*</head>)}is", "\$1Shift_JIS\$2", $response);
}
$kakikonda_match = "/<title>.*(書きこみました|■ 書き込みました ■|書き込み終了 - SubAll BBS).*<\\/title>/is";
$cookie_kakunin_match = "/<!-- 2ch_X:cookie -->|<title>■ 書き込み確認 ■<\\/title>|>書き込み確認。</";
if (eregi("(<.+>)", $response, $matches)) {
$response = $matches[1];
}
// カキコミ成功
if (preg_match($kakikonda_match, $response, $matches) or $post_seikou) {
// クッキーの書き込み自動保存を消去する
if (isset($_COOKIE['post_msg'])) {
P2Util::unsetCookie('post_msg');
// ドメイン指定なしも入れておこ
setcookie('post_msg', '', time() - 3600);
}
$reload = empty($_POST['from_read_new']);
_showPostMsg(true, '書きこみが終わりました。', $reload);
// 投稿失敗記録があれば削除する
if (file_exists($failed_post_file)) {
unlink($failed_post_file);
}
return true;
//$response_ht = htmlspecialchars($response, ENT_QUOTES);
//echo "<pre>{$response_ht}</pre>";
// ■cookie確認表示(post再チャレンジしてね)
} elseif (preg_match($cookie_kakunin_match, $response, $matches)) {
$htm['more_hidden_post'] = '';
// p2用の追加キー
$more_hidden_keys = array('newthread', 'submit_beres', 'from_read_new', 'maru_kakiko', 'csrfid', 'k', UA::getQueryKey());
foreach ($more_hidden_keys as $hk) {
if (isset($_POST[$hk])) {
//.........这里部分代码省略.........
示例5: unSession
/**
* $_SESSIONでセッションを破棄する
*
* セッションがない、もしくは正しくない場合などに
* http://jp.php.net/manual/ja/function.session-destroy.php
*
* @static
* @access public
* @return void
*/
function unSession()
{
global $_conf;
// セッションの初期化
// session_name("something")を使用している場合は特にこれを忘れないように!
!session_id() and session_start();
// セッション変数を全て解除する
$_SESSION = array();
// セッションを切断するにはセッションクッキーも削除する。
$session_name = session_name();
if (isset($_COOKIE[$session_name])) {
//setcookie($session_name, '', time() - 42000);
P2Util::unsetCookie($session_name);
unset($_COOKIE[$session_name]);
}
// 最終的に、セッションを破壊する
$session_file = null;
if ('files' == ini_get('session.save_handler')) {
if (isset($_conf['session_dir'])) {
$session_file = $_conf['session_dir'] . '/sess_' . session_id();
} else {
$session_file = session_save_path() . '/sess_' . session_id();
}
}
session_destroy();
$session_file and file_exists($session_file) and unlink($session_file);
}