вычислить размер файла cookie в PHP

Я хотел прочитать cookie и рассчитать его длину на стороне сервера, используя php, но не могу найти прямой метод для этого. Итак, как достичь этой задачи?

как насчет этого ?

setcookie("user", "Dino babu kannampuzha", time() + 3600); if (isset($_COOKIE["user"])) { $data = $_COOKIE["user"]; $serialized_data = serialize($data); $size = strlen($serialized_data); echo 'Length : ' . strlen($data); echo "<br/>"; echo 'Size : ' . ($size * 8 / 1024) . ' Kb'; } 

// Вывод

 Length : 21 Size : 0.232 Kb 

Чтобы получить сырые файлы cookie и их длину:

 $rawCookies = isset($_SERVER['HTTP_COOKIE']) ? $_SERVER['HTTP_COOKIE'] : null; $rawLength = strlen($rawCookies); echo $rawLength; 

strlen($_COOKIE['cookie_name']) ?

Не уверен, что это то, что вы хотите, но вы можете попробовать это

 $start_memory = memory_get_usage(); $cookie = $_COOKIE['YourCookie']; echo memory_get_usage() - $start_memory-PHP_INT_SIZE * 8; <?php setcookie("TestCookie", '10'); $start = memory_get_usage(); $cookie = $_COOKIE['TestCookie']; echo memory_get_usage() - $start; //116 bytes ?> 

Обратитесь к этим ресурсам:
http://extraconversion.com/data-storage/characters/characters-to-bytes.html
Измерьте размер строки в байтах в php
https://mothereff.in/byte-counter

И мой снимок экрана, который получает размер файла cookie с помощью Firebug. введите описание изображения здесь

Я использую свой код из @Dino, но меняю что-то вроде strlen на mb_strlen для поддержки unicode.
Это становится:

 $data = $_COOKIE['user']; $name = 'user'; if (!is_scalar($data)) { $data = serialize($data); } $size = mb_strlen($data)+mb_strlen($name); echo 'Cookie name length : ' . mb_strlen($name) . "<br>\n"; echo 'Cookie content length : ' . mb_strlen($data) . "<br>\n"; echo 'Cookie size : ~' . ($size) . ' Bytes<br>'."\n"; 

Которая почти близка к размеру, появляется в Firebug. Я действительно не понимаю, почему размер должен (n*8/1024) если мы ссылаемся на ресурсы над ним всего на 1 символ 1 байт, за исключением юникода, поэтому мне нужно использовать mb_strlen вместо strlen .