중첩 된 배열을 쿠키에 저장하려고합니다. 배열을 JSON 문자열로 저장하기로 결정했습니다. 그러나, 나는이 경고를 받고있다 :중첩 된 배열을 쿠키에 저장
PHP 경고 : 쿠키 값은 다음을 포함 할 수 없다 ',; \ t \ r \ n \ 013 \ 014 'in foobar.php
중첩 된 배열을 쿠키에 저장하는 권장 방법이 있습니까? 당신은 base64_encode()
을 사용할 수
중첩 된 배열을 쿠키에 저장하려고합니다. 배열을 JSON 문자열로 저장하기로 결정했습니다. 그러나, 나는이 경고를 받고있다 :중첩 된 배열을 쿠키에 저장
PHP 경고 : 쿠키 값은 다음을 포함 할 수 없다 ',; \ t \ r \ n \ 013 \ 014 'in foobar.php
중첩 된 배열을 쿠키에 저장하는 권장 방법이 있습니까? 당신은 base64_encode()
을 사용할 수
이것은 나를 위해 작동하는 것 같습니다. – morpheous
javascript base64 디코드가 완전히 교차 브라우저가 아닙니다. http://stackoverflow.com/questions/2820249/base64-encoding-and-decoding-in-client-side-javascript –
은 나는 그것을 할 수있는 깨끗한 방법 생각하지 않습니다,하지만 당신은 json_encode
D 문자열이 쿠키에 저장 할 수 urlencode
수 있습니다.
편집 : Tom Haigh 방식이 확실하게 (base64_encode를 사용하여) 더 깨끗합니다.
이것은 일반적인 접근 방법입니다. 'rawurlencode'는 다른 곳에서 쿠키를 읽으려면 더 나은 방법 일 수 있습니다. JavaScript의'decodeURIComponent'. – bobince
$array = array();
$array[] = array(1,2,3);
$array[] = array('a','b','c');
setcookie("test",serialize($array));
그냥 직렬화하면 올바르게 작동합니다. 사용 가능한 지속성 (dB, 세션, memcache)에 다른 형태가있는 경우
'test' => string 'a:2:{i:0;a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}i:1;a:3:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";}}' (length=86)
, 나는 거기에 실제 데이터를 저장하는 것을 권 해드립니다 :
당신은 쿠키에 있음을 얻는다. 그런 다음 원하는 식별자를 찾는 데 사용할 수있는 고유 한 식별자를 쿠키에 넣습니다. 그것은 훨씬 깨끗하고 안전합니다.
중첩 된 배열을 쿠키에 저장하는 권장 방법이 있습니까?
예 -하지 마세요. 세션 또는 다른 핸들을 사용하여 서버 측에 저장하십시오. 쿠키에 데이터를 저장하는 데 서식 및 범위 문제가있을뿐만 아니라 파일 크기가 제한됩니다.
C.
왜 많은 데이터를 쿠키에 저장해야합니까? –
많은 가정들이 여기에 있습니다 (일부 답변/피드백으로 판단) ... 중첩 된 배열이라는 사실은 반드시 많은 양의 데이터를 의미하지는 않습니다. 우선, 최대 중첩 깊이는 <= 3 일 가능성이 큽니다. 둘째, 객체 ID (정수) 만 저장합니다. – morpheous