ruby_php_serialization

Ruby implementation of PHP’s serialization. This is special useful for reading PHP session files.

Unserialization examples

Primitive values

RubyPhpSerialization.php_unserialize(‘i:10;’) # => 10 RubyPhpSerialization.php_unserialize(‘s:4:“Name”;’) # => “Name” RubyPhpSerialization.php_unserialize(‘b:1;’) # => true RubyPhpSerialization.php_unserialize(‘N;’) # => nil Array

RubyPhpSerialization.php_unserialize(‘a:2:i:0;b:1;i:1;s:3:“foo”;;’) # => [true, “foo”] Hash

RubyPhpSerialization.php_unserialize(‘a:2:s:4:“name”;s:7:“Rodrigo”;s:3:“age”;i:23;;’) # => => “Rodrigo”, “age” => 23 Object

class Person attr_accessor :name, :age end person = RubyPhpSerialization.php_unserialize(‘O:6:“Person”:2:s:4:“name”;s:7:“Rodrigo”;s:3:“age”;i:23;;’) person.name # => “Rodrigo” person.age # => 23 Object without class will map to a Struct

person = RubyPhpSerialization.php_unserialize(‘O:6:“Person”:2:s:4:“name”;s:7:“Rodrigo”;s:3:“age”;i:23;;’) person.class # => Struct::Person person.name # => “Rodrigo” person.age # => 23

Copyright © 2009 Rodrigo Kochenburger. See LICENSE for details.