¿Qué significa la cabeza de los archivos de caché de smarty?
Pregunta
132
a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}<body>
php<br >
java<br >
c++<br >
</body>
Alguien puede explicar esta parte:
132
a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}
Solución
Es una versión serializada de una matriz de PHP:
<?php
$serialized = 'a:4:{s:8:"template";a:1:{s:10:"index.html";b:1;}s:9:"timestamp";i:1256373019;s:7:"expires";i:1256373079;s:13:"cache_serials";a:0:{}}';
$unserialized = unserialize($serialized);
print_r($unserialized);
Resultados en:
Array
(
[template] => Array
(
[index.html] => 1
)
[timestamp] => 1256373019
[expires] => 1256373079
[cache_serials] => Array
(
)
)
Otros consejos
No sé mucho acerca de Smarty, pero parece algo similar a Bencoding , que es donde codificas cosas como cadenas y matrices especificando primero sus longitudes. Esto evita tener que delimitar tales cosas con " caracteres especiales " (como las citas) que luego deben ser " escapadas " si aparecen en la cadena real.
-
132
es la longitud de la cadena codificada. -
a: 4:
parece que está introduciendo una matriz asociativa (diccionario) con 4 elementos. -
s: 8: " template "
parece ser una cadena de longitud 8, con el valor " template " ;. En este caso, es la clave del primer elemento del diccionario. - El valor de ese elemento es, en este caso, otro diccionario que simplemente asigna la clave " index.html " al valor entero 1.
- ... Y creo que puedes resolver el resto.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow