Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с unserialize
 
 автор: ~LINA~   (30.09.2010 в 15:03)   письмо автору
 
 

Подскажите как рассериализовать массив

a:2:{i:0;a:5:{s:4:"name";s:14:"атач1.docx";s:4:"type";s:71:"blabla";s:11:"disposition";s:10:"attachment";s:4:"file";s:13:"4ca455f077e47";s:4:"size";i:10014;}i:1;a:5:{s:4:"name";s:25:"атач2.docx";s:4:"type";s:71:"blabla";s:11:"disposition";s:10:"attachment";s:4:"file";s:13:"4ca455f08824f";s:4:"size";i:10014;}}

  Ответить  
 
 автор: sim5   (30.09.2010 в 15:06)   письмо автору
 
   для: ~LINA~   (30.09.2010 в 15:03)
 

unserialize(). А от куда вы его берете?

  Ответить  
 
 автор: ~LINA~   (30.09.2010 в 15:09)   письмо автору
 
   для: sim5   (30.09.2010 в 15:06)
 

unserialize() - пробовала, но массив не создается
проверяю через print_r

допустим беру из строкового значения переменной

  Ответить  
 
 автор: sim5   (30.09.2010 в 15:11)   письмо автору
 
   для: ~LINA~   (30.09.2010 в 15:09)
 

Это не ответ "допустим беру...", ибо в строке сериализованной вашей ошибки есть. Так от куда вы такое получаете, почему сериализованное?

  Ответить  
 
 автор: ~LINA~   (30.09.2010 в 15:25)   письмо автору
 
   для: sim5   (30.09.2010 в 15:11)
 

из БД беру, а в чем ошибки?

Т.е. у меня есть такие данные в базе, которые надо рассериализовать

  Ответить  
 
 автор: sim5   (30.09.2010 в 15:36)   письмо автору
 
   для: ~LINA~   (30.09.2010 в 15:25)
 

А вы когда пытаетесь применить unserialize, каков у вас результат? У вас вывод ошибок, предупреждений что выключен?

  Ответить  
 
 автор: ~LINA~   (30.09.2010 в 15:53)   письмо автору
 
   для: sim5   (30.09.2010 в 15:36)
 

нет, никаких предупреждений нет
и unserialize() работает если его применить к предварительно сериализованному массиву

  Ответить  
 
 автор: Gubichev   (30.09.2010 в 15:59)   письмо автору
 
   для: ~LINA~   (30.09.2010 в 15:53)
 

Ну разбирайтесь в сериализованом массиве значит. Там явно бред.. s:71:"blabla" - никак 71 быть не может.

Вот так он должен выглядеть:
a:2:{i:0;a:10:{i:0;s:4:"name";i:1;s:10:"атач1.docx";i:2;s:4:"type";i:3;s:6:"blabla";i:4;s:11:"disposition";i:5;s:10:"attachment";i:6
;s:4:"file";i:7;s:13:"4ca455f077e47";i:8;s:4:"size";i:9;i:10014;}i:1;a:10:
{i:0;s:4:"name";i:1;s:10:"атач2.docx";i:2;s:4:"type";i:3;s:6:"blabla";i:4;s:11:"disposition";i:5;s:10:"attachment";i:6
;s:4:"file";i:7;s:13:"4ca455f08824f";i:8;s:4:"size";i:9;i:10014;}}

  Ответить  
 
 автор: sim5   (30.09.2010 в 16:06)   письмо автору
 
   для: ~LINA~   (30.09.2010 в 15:53)
 

Нет, значит у вас подавлен вывод ошибок - включите их на локальном сервере в php.ini раз и навсегда, ибо вы не получаете массива вот из-за этого:
Notice: unserialize() [function.unserialize]: Error at offset 45 of 310 bytes in.....
А почему вы не держите таблицу описывающие эти элементы сериализованные, ведь они у вас повторяются (это массив ведь), зачем строка сериализованная?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования