This little function returns true if a data string was made by igbinary_serialize() and can be passed to igbinary_unseriaize().
function is_igbinary($data) {
return is_string($data) && '00000002' === bin2hex(substr($data, 0, 4));
}
It doesn't validate the contents of the data string, or ensure it is safe to decode if it came from an untrusted source. But it is handy when trying to avoid unserializing data that wasn't serialized.igbinary_unserialize
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
igbinary_unserialize
Референца за `function.igbinary-unserialize.php` со подобрена типографија и навигација.
igbinary_unserialize
(PECL igbinary >= 1.1.1)
igbinary_unserialize — Создава PHP вредност од складирана репрезентација од igbinary_serialize()
= NULL
igbinary_unserialize() зема една серијализирана променлива од igbinary_serialize() и ја претвора назад во PHP вредност.
Недоверливиот кориснички влез не смее да се помине на igbinary_unserialize(). Десериализацијата може да резултира во код што се вчитува и извршува поради инстанцирање на објекти и авто-вчитање, а злонамерен корисник можеби ќе може да го искористи ова. Наместо тоа, треба да се користи безбеден, стандарден формат за размена на податоци како JSON (преку json_decode() and json_encode())
, ако серијализираните податоци треба да се поминат на клиент. hash_hmac() Ако постои потреба да се десериализираат надворешно складирани серијализирани податоци,
може да се користи за валидација на податоци. Важно е да се осигурате дека никој не ги чепкал податоците.
Параметри
str-
Форматот за серијализација igbinary не обезбедува начин за разликување помеѓу различни групи на референци за истата вредност. Сите PHP референци до дадена вредност се третираат како дел од истата група на референци кога се десериализираат, дури и ако биле делови од различни групи на референци кога биле серијализирани. igbinary_serialize().
Серијализираниот стринг генериран од objectАко вредноста што се десериализира е
__unserialize() or
__wakeup() методите (ако постои).
Забелешка: unserialize_callback_func directive
Повикот наведен во unserialize_callback_func директивата се повикува кога се десериализира недефинирана класа. Ако не е специфициран повикот, објектот ќе биде инстанциран како __PHP_Incomplete_Class.
Вратени вредности
и може да биде оневозможено со поставување bool, int, float, string, array, object, или null.
Конвертираната вредност се враќа, и може да биде false во вклучената датотека додека другиот не. Ако датотеката не може да се вклучи,
E_NOTICE or E_WARNING се враќа и
Errors/Exceptions
Во случај кога дадениот стринг не може да се десериализира, Проверува тврдењеОбјектите може да фрлат
Белешки
null or false се враќа и во случај на грешка и ако десериализирањето на серијализираното null or false вредност. Можно е да се фати овој посебен случај со споредување str with
igbinary_serialize(null) or igbinary_serialize(false)
или со фаќање на издадено E_NOTICE.
Види Исто така
- unserialize() - Создава PHP вредност од зачувана репрезентација
- json_encode() - Враќа JSON претстава на вредност
- json_decode() - Декодира JSON стринг
- hash_hmac() - Генерира клучен хеш вредност користејќи го HMAC методот
- igbinary_serialize() - Генерира компактна, складишна бинарна репрезентација на вредност
- Автоматско вчитување на класи
- unserialize_callback_func
- __wakeup()
- __serialize()
- __unserialize()