#php #file
#php #файл
Вопрос:
Я работаю над небольшим PHP-приложением, которое регулярно обновляет стандартные продукты, я получаю обновленный файл с сервера, и у меня есть старый в моем каталоге, итак, каков наилучший способ получить только обновленные продукты (строки) между этими двумя файлами, для информации оба файла содержат около 70000 товарных позиций.
Я хотел сохранить данные каждого файла в массив, а затем использовать «array_diff» для их сравнения, это будет работать теоретически, но будет хорошей идеей с 70000 в каждом массиве?
Заранее спасибо.
Комментарии:
1. Разве командная строка не
diff
сделала бы это?2. 70 000 — это не так уж много, но это также зависит от информации в каждой строке. Обычно я бы использовал базу данных для хранения данных, чтения в новом файле и сравнения его с базой данных. Таким образом, вы также можете сохранить историю и посмотреть, когда что-то изменилось и на сколько.
3. Использование базы данных тоже было моей идеей, но мой менеджер проекта сказал мне, что он не хочет использовать это решение, которое он хочет, программа просто извлекает данные нового плоского файла, сравнивает с последним, обнаруживает строку изменений (например, было изменено 10 строк), а затем отправляет эти строки в другую программу, используя ее API
Ответ №1:
Я бы использовал diff
команду. Для справки:https://www.geeksforgeeks.org/diff-command-linux-examples /
Комментарии:
1. diff — это команда Linux, будет ли она работать в среде Windows? Потому что я разрабатываю локально, в настоящее время используя xampp