помогите разобраться с форматом данных

animad

Новичок
помогите разобраться с форматом данных

.... в общем-то в теме все сказано: есть формат хранения данных, встречал уже в 3-х местах.. кажется какой-то стандарт....

PHP:
<?die;?>a:21{s:6:"status";s:2:"me";s:5:"title";s:0:"";s:5:"posts";i:0;s:6:"joined";i:1190019511;s:2:"ip";s:12:"************";s:4:"name";s:3:"***";s:2:"id";i:35;s:4:"pass";s:7:"*******";s:4:"mail";s:19:"************";s:9:"showemail";b:0;s:3:"aim";s:0:"";s:3:"icq";s:0:"";s:8:"location";s:0:"";s:9:"interests";s:0:"";s:3:"sig";N;s:4:"lang";N;s:4:"skin";N;s:7:"timedif";N;s:6:"avatar";N;s:6:"upload";b:0;s:6:"new_pm";b:1;}
... если кто-то знаком с ЭТИМ, подскажите:

1. как называется подобное хранение данных;
2. где можно почитать об этом?
3. есть ли функции по созданию и чтению ЭТОГО?

.... зарание Шпасибо.
 

TutanXamoN

Новичок
Нормальный формат:
тип_данных:длинна:значение

В данном случае используется как для самой переменной так и для её значения.

john.brown
Было светлое время когда я не знал о такой замечательной ф-ции и писал разбор таких данных вручную 8)
 

TutanXamoN

Новичок
animad
Ня, ну сам посмотри:
Код:
s:6:"status";
s:2:"me";
string. length=6. value=status;
string. length=2. value=me;
Итого:
PHP:
$status="me";
Код:
s:6:"joined";
i:1190019511;
string. length=6. value=joined;
integer. value=1190019511;

Итого:
PHP:
$joined=1190019511;//Monday, September 17th 2007, 10:58:31 (GMT +2)
 

animad

Новичок
вот... сохраняет поля формы..... +меняет опасные символы и переносы строки ... и при считывании возвращает назад:

function codeup(&$val,$key){
if(is_array($val)){
array_walk($val,'codeup');
}else{
$val=htmlspecialchars($val);
$val=str_replace("\r\n",'<br />',$val);
}
}

function codedown(&$val,$key){
if(is_array($val)){
array_walk($val,'codedown');
}else{
$val=html_entity_decode($val);
$val=str_replace('<br />',"\r\n",$val);
}
}


$t['date']='99:99:99';
$t['title']='title of the text';
$t['text']="sd;lfj lsij; wier; kjdnsf;igjd;ojibv;xdoji\r\nsdohf;wloethknd;\r\nsojibvs doihf;gwlde";

array_walk($t,'codeup');
$t1=serialize($t);

$t2=unserialize($t1);
array_walk($t2,'codedown');
 

animad

Новичок
Автор оригинала: dimagolov
animad, скажи, без твоих codeup и codedown serialize/unserialize не могут работать?

-~{}~ 30.03.09 19:25:


опасные для кого?
... посмотри внимательней и поймешь .... для формата SERIALIZE .. как вписать двойные кавычки внутрь двойных кавычек? ... или например перенос строки? к примеру содержимое поля <textarea> ... codeup производит замены подобных сиволов, а codedown проделывает обратное позволяя открыть данные на редактирование в этом поле
 

DiMA

php.spb.ru
Команда форума
animad

ты гонишь чудовщный бред (для форума Юмор походит)... serialize следует использовать без предварительных манипуляций, никаких ограничений на упаковываемы строки нет

в какую конкретно строку serialize превратит твой объект (строку с кавычками внутри кавычек и переносы строки) - тебя не касается, главное, что unserialize вернет оригинал
 

animad

Новичок
спасибо за разъяснения

-~{}~ 31.03.09 11:34:

:) .. хорошо что объяснили чайнику, и сразу не послали
 
Сверху