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:{}}
¿Fue útil?

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
scroll top