Как стать автором
Обновить

PHP для нетребовательных. База Данных на коленке.

Время на прочтение2 мин
Количество просмотров1.6K
Даже если у меня будет 1000 клиентов, для меня не будет острой необходимости в MySQL, а пока их значительно меньше… около 50, то это вообще не вопрос.
Автоматизация следующей задачи: необходимо хранить Логин и Время(регистрации) для каждого клиента.
Их 50, пусть 100.
Может потом еще пара параметров добавится.
Самый простой способ — хранить данные в файлах, ну не нравится мне SQL для таких простых задач. Поэтому решение называл — На коленке.

Формат файла?
Сначала хотел сделать для каждого пользователя отдельный PHP файл, который просто выполняешь при необходимости (как JSON)
Очень удобно, но его надо как-то генерить — неудобно.
В PHP есть функционал для работы с CSV форматом — тоже не нравится. Когда-то на Perl писал свою БД при помощи сериализации объектов.
т.е. берем хэш. Сериализуем его и пишем. Что там в файле — уже не важно, Желательно чтобы можно его было руками поправить легко.
Ну и все… В PHP есть такая же фигня.

В итоге Простецкая БД пишет так (PHP4):
$USER['timepaid']=$dt+2592000; //генерим хэш
$userdata=serialize($USER); //сериализуем
$handle = fopen ('папка-мамка/'.$u.'.txt',«w») or die('Моцарт');
fwrite($handle,$userdata); //пишем на коленке
fclose ($handle);

А читаем так:
$userdata=file_get_contents('папка-мамка/'.$u.'.txt'); //читаем файло
$USER=unserialize($userdata); // распаковывает
if ($dt_<$USER['timepaid']){} //и работаем с готовым хэшем

Преимущества на лицо:
1. Очень быстро все это написать
2. Коду почти нету(для PHP5 все будет еще короче)
3. не требует купленных у хостера Баз
4. Через FTP можно легко подправить любые данные
5. Проблемы с одновременным доступом практически исключены т.к. для каждого пользователя свой файл

Недостатки:
Естественно это лишь для начального этапа, когда клиентов перевалит за 500-1000 придется переходить на MySQL, ибо на FTP будет заходить мутно для ручной правки.
Теги:
Хабы:
Всего голосов 30: ↑5 и ↓25-20
Комментарии19

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань