2014-11-06 3 views
0

자정까지 수명이있는 쿠키를 설정합니다.PHP는 평생 리셋없이 쿠키 값을 다시 작성합니다.

setcookie('foo', 'bar', strtotime('today 23:59')); 
내가 평생을 재설정하지 않고 ['foo']의 가치를 다시 작성할 수 있습니다 어떻게

? 예 : setcookie('foo', 'foo-bar', /* current lifetime*/);

'foo'키를 사용하여 쿠키의 현재 수명을 얻는 방법은 무엇입니까?

+0

$ _COOKIE [ 'foo는'] = 'abc' – Sundar

+0

@Sundar $ _COOKIE는 "시스템 슈퍼 글로벌 읽기 전용"이라고 생각합니다. 제가 생각하는 최선의 해결책은와 같은 json 인코딩 된 배열을 저장하는 것입니다. 10 $ time_to_set = strtotime ('오늘 23:59'); $ cookie = json_encode (배열 ( 'foo'=> 'bar', 'ttl'=> $ time_to_set, )); setcookie ('foo', $ cookie, $ time_to_set); – LINKeRxUA

+1

@Sundar, 나는 당신이 틀렸다고 생각한다. 여기를보십시오 : [link] (http://www.pontikis.net/blog/create-cookies-php-javascript) ** 사실, 쿠키를 업데이트 할 방법이 없습니다. 그냥 setcookie를 사용하여 (다시)이 쿠키를 설정하십시오. ** 진짜로 ttl 값을 읽는 가장 좋은 방법은 우리가 쿠키 안에 넣고 싶은 데이터의 배열 안에 그것을 설정하고 json으로 만들고 그것을 설정하는 것입니다. – LINKeRxUA

답변

0

내 방법 : JSON 인코딩 된 배열과 같은

$time_to_set = strtotime('today 23:59'); 
$cookie = json_encode(array('foo' => 'bar', 'ttl' => $time_to_set,)); 
setcookie('foo', $cookie, $time_to_set); 

을 저장하고 쿠키 TTL을 읽어이 같은

$cooke_personal_ttl = json_decode($_COOKIE['foo'], true)['ttl']; 

또는 뭔가 ..