Скрыть сайт
Показать сайт

PHP - сохранение и загрузка масива в файл.

Иногда залезишь в базу данных какой нибудь системы управления сайтом и видишь в таблицах такого формата запись:
a:1:{s:5:"top_2";a:2:{i:0;s:4:"Рыся";i:1;s:6:"555555";}}

понятно что данные, как то по хитрому уложены, но что это, крутая библиотека, хитроумный код?

Но на самом деле все просто, это стандартные функции кодирования и декодривания масивов в php.

Узнал о этих функциях случайно. Я тогда работал со скриптом который собирал данные в течение десяти минут, и каждый раз запускать его, что бы посмотреть ту или иную информацию в удобном для меня html оформлением, как оказалос дело было долгим.

Тогда я и начал искать способы сохранения данных. Первым на ум пришли базы данных, но масив оказался не совсем структурированым и дело напоминало танцы с бубном.

Вторая идея была сохранения в файл, раньше я гостевые книги так делал разделяя данные этим символом "|", строки были записями, но в моем случает у разных разделов масива глубина была разная, что то универсальное писать времени не было.

Открыв справочник полистав раздел работы с масивом нашел эти замечательные функции serialize() и unserialize().

Применив знания на своем скрипте, был очень удивлен простоте решения задачи. Ну что бы запомнить написал эту статью.

Прикладываю не большой обучающий код с коментариями:
Ps:Кто будет дальше разрабатывать может пригодиться так же фукнции:utf8_encode().

Pss:После в сеть залез посмотреть какие еще есть решения, была одна задумка с помощью print_r конвертировать в строку и сохранять в файл с расширением php, а после его подключать. Но нашел опять же функцию var_export() - она также как print_r выводит масив, только возращает правильный php код масива. Также есть функция var_dump() - почти аналог print_r, только при выводе указывает тип переменной: string,float,bool..
 
1972
1971
1
Пишем культурно и не нарушая законы РФ.
 

2016 год.