igbinary_unserialize
Crée une variable PHP à partir d'une valeur linéarisée par igbinary_serialize
&reftitle.description;
mixedigbinary_unserializestringstrigbinary_unserialize prend une variable linéarisée par
igbinary_serialize et la convertit en une variable PHP.
Les entrées utilisateur non fiables ne doivent pas être passées à la fonction
igbinary_unserialize.
La délinéarisation peut résulter en une exécution de code chargé et exécuté lors de l'instanciation
et l'autochargement d'objet, et ainsi, un utilisateur mal intentionné peut être capable d'exploiter
ce comportement.
À la place, un standard d'échange sûr tel que JSON (via json_decode et
json_encode) doit être utilisé pour passer des données linéarisées à l'utilisateur.
S'il est indispensable de délinéariser des données linéarisées provenant de l'extérieur, la fonction
hash_hmac peut être utilisée pour valider les données.
Il est important de vérifier que personne n'a altéré les données.
Le protocole de linéarisation par igbinary ne permet pas de distinguer entre les différents groupes de
références. Toutes les références PHP à une valeur donnée sont vues comme membres d'un même
groupe lors de la délinéarisation, même si elles appartenaient à des groupes différents avant la
linéarisation.
&reftitle.parameters;
str
La chaîne de caractères linéarisée, générée par igbinary_serialize.
Si la variable délinéarisée est un &object;, après avoir réussi à le reconstruire,
PHP tentera automatiquement d'appeller les méthodes magiques
__unserialize() ou
__wakeup() (si l'une d'elles existe).
La directive unserialize_callback_func
Il est possible de définir une fonction de rappel qui sera appelée si une classe
doit être instanciée lors de la délinéarisation alors que cette dernière n'est pas actuellement
définie (afin d'éviter de créer un object de la classe
__PHP_Incomplete_Class.)
Les fichiers &php.ini;, &htaccess; ou la fonction ini_set peuvent être
utilisés pour définir unserialize_callback_func.
Elle sera appelée chaque fois qu'une classe non actuellement définie sera instanciée.
Pour désactiver cette fonctionnalité, il suffit de mettre la valeur de l'option au caractère nul.
&reftitle.returnvalues;
La valeur convertie est retournée par la fonction, et peut être de type &boolean;,
&integer;, &float;, &string;,
&array;, &object;, ou de type null.
Si la chaîne de caractères passée ne peut pas être délinéarisée, cette fonction retourne &false;
et un diagnostic E_NOTICE ou E_WARNING est émis.
&reftitle.errors;
Les objets peuvent lancer un Throwable dans leur gestionnaire de délinéarisation.
&reftitle.notes;
&null; ou &false; est retourné soit dans le cas d'une erreur soit après avoir délinéarisé
le résultat de la linéarisation de &null; ou &false;. Il est possible de discriminer entre ces deux cas
spéciaux en comparant la valeur du paramètre str avec le résultat de l'exécution
de igbinary_serialize(null) ou de igbinary_serialize(false)
ou bien en attrapant un diagnostic E_NOTICE.
&reftitle.seealso;
unserializejson_encodejson_decodehash_hmacigbinary_serializeAuto-chargement de classesunserialize_callback_func__wakeup()__serialize()__unserialize()