anadikt
@anadikt
Верстка как хобби

Как отредактировать данные в php файлах?

Всем привет! В общем суть вопроса такая, на сайте в папке лежат файлы с данными (в основном там определенные цены в одну строку), как при помощи php можно через форму можно редактировать данные?

site.ru/price/
...
vodoprovod.php
elektrika.php
malyarka.php
....

Или это бесполезное занятие и лучше сделать хранение этих данных в mysql?
  • Вопрос задан
  • 157 просмотров
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Это бесполезное занятие и лучше сделать хранение этих данных в каком угодно хранилище. Если на сайте уже доступна mysql, то хранить в ней.

Чтобы при помощи php можно через форму можно редактировать данные, они не должны лежать в РНР файлах.
Ответ написан
Lopar
@Lopar
системный администратор
Если у вас полностью статичный сайт и вы не хотите усложнять, то ваша текущая реализация самая неубиваемая.

Если хочется немного удобнее, но всё ещё просто, используйте для хранения цен csv файл, который удобно редактируется в Microsoft Excel, а дальше обрабатывается функцией fgetcsv.

Если хочется поиграться с базами, но всё ещё не переусложнять, посмотрите на БД SQLite - это хорошая база под ваши задачи, при этом все данные она хранит в единственном файле, который удобно переносить в случае чего. Скорее всего вам с головой хватит.

MySQL будет чрезмерной. Всё таки отдельное приложение, пусть и встречающееся буквально везде, но это лишние телодвижения и не очень тривиальные бекапы. Можно, но незачем.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Vova135798
Данные хранятся в массиве? Тогда $array[0] = $_POST['price'];.
Лучше данные хранить в базе данных
Ответ написан
@rPman
Первый и главный вопрос, на который нужно ответить при хранении данных - существует ли 'многопользовательский' (а точнее множественный одновременный) доступ к этим данным, только ли он на чтение или возможна одновременная запись? есть ли особенности по блокировке записи (например пользователь открыл форму, прочитав данные, и пока он не нажал сохранить или отменить - доступ к данным другим пользователям закрыт) и т.п.

Второй - как много данных

Третий - на сколько сложные запросы по поиску и фильтрации у тебя есть

И если многопользовательского доступа нет и данных не много (максимум мегабайты) и работа с данными простая, то можно совсем не заморачиваться с базами данных и хранить все в файлах. Для этого в php есть несколько инструментов сериализации любых данных в строки (массивы, объекты. строки и т.п.):

serialize, json_encode, php_export (этот формирует строку в формате php, т.е. загрузить такой файл можно просто импортировав его в код), относительно недавно появился igbinary_serialize (расширение идет в поставке с php) - отличный бинарный формат, достаточно эффективный и наверное самый быстрый из существующих.

Так же сериализовать в файл можно не сразу все данные а по объекту на файл (файловая система ОС - отличная key-value база данных, удобная быстрая, но без нормальной поддержки многопользовательского доступа, точнее можно с помощью блокировок но сложно), благодаря чему можно решать очень сложные задачи без оверхеда на место на диске, процессор и лишний кодинг. Недостаток этого подхода - индексы реализовывать придется самому.

p.s. по теме конкретно сформулированного вопроса, гугли CRUD, это готовые инструменты по create,read, update, delete объектов, которые тут же описываешь. Так или иначе эти механизмы мого кто реализует в своих фреймворках

но начинающему настоятельно рекомендую пройти весь путь от самописных структур данных и работе с sql
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы