Вставить в базу данных без клиента с PHP

0

У меня есть сайт PHP, который анализирует XML и отображает его на веб-странице. XML файл изменяется каждый раз так часто, поэтому изменение веб-страницы. Он меняется каждые 30 минут.

Я хочу иметь возможность принимать XML-данные и вставлять их в свою базу данных MySQL. Тем не менее, я не могу найти способ вставить данные в базу данных каждый раз, когда XML обновляется, потому что клиент должен быть задействован, и даже поэтому данные будут вставлены несколько раз, если страница была посещена более одной за эти 30 минут промежуток времени.

Каждый раз, когда файл XML обновляется, я хотел бы, чтобы мои данные были следующими:

XML → PHP → База данных

Это может быть невозможно, поэтому я понимаю, что мне, возможно, придется использовать отдельный язык сценариев для обновления базы данных с использованием XML-контента. Из-за того, что изменения XML должны запускаться, обновление базы данных PHP может не работать в этом случае. XML обновляется через короткий скрипт Bash. Я изучил использование BASH, но для анализа XML и обновления баз данных это, похоже, не помогло, плюс это было бы огромной кривой обучения для меня. Я запускаю это на машине Ubuntu.

Любые предложения и помощь приветствуются.

  • 0
    как обновляется XML?
  • 0
    Через nmap. Nmap не имеет возможностей базы данных. Просто XML
Показать ещё 10 комментариев
Теги:

1 ответ

0
Лучший ответ

Благодаря кузнецу и Тиму Мортону я нашел решение.

Я создал отдельный PHP файл, который будет анализировать XML в переменных и вставлять данные в базу данных.

Чтобы запустить сценарий Nmap, который обновил файл XML, я использовал задание cron, которое вызвало сценарий bash. В сценарии bash после запуска Nmap я изменил расположение каталога на папку, содержащую мой скрипт, а также мой XML файл. Затем я запустил PHP файл с PHP CLI (php -f/xxx/xxx/php.php).

Поэтому вместо того, чтобы использовать триггер, чтобы узнать, изменился ли файл XML, я обновил базу данных в другом PHP файле, который был вызван в том же сценарии bash.

ИТ работал так:

             Cron job > BASH script > Run Nmap       > update XML
                                    > call PHP file  > update database

Еще раз спасибо, Смит и Тим Мортон

Ещё вопросы

Сообщество Overcoder
Наверх
Меню