2016-10-18 5 views
0

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

Но проблема с автоматической загрузкой на обратной стороне.

+0

Вам нужно будет использовать что-то в качестве заданий Cron (в зависимости от вашей серверной ОС), которые будут вызывать ваши скрипты с регулярными интервалами. –

+0

Как будет отправляться XML-файл? Не стоит ли проверять, существует ли файл по сетевому пути? – apokryfos

+0

Я сервер Windows 2012 с использованием IIS с PHP 7. – Jassi

ответ

0

вам необходимо создать одну страницу, которая будет читать предоставленный файл и выполнить необходимые действия, а затем поделиться этим URL-адресом и форматировать команду, которая предоставит вам xml-файл.

Это очень похоже на конечную точку API, где вам нужно написать код, который будет обрабатывать запрос, и в этом случае ваша конечная точка будет рассматривать как сервер, а поставщик XML-файлов будет рассматриваться как клиенты.

Надеюсь, этот ответ поможет вам. Thanks

+0

Да, это конечная точка API, и я уже являюсь страницей, которая будет читать код, когда папка содержит один или несколько файлов XML, но мне нужно откройте страницу в браузере, чтобы прочитать этот файл. – Jassi

+0

Я уже создал php-файл * – Jassi

+0

Вы имеете в виду, что я должен использовать метод CURL для чтения файла, и я буду использовать, например, POST, GET, REQUEST, чтобы обработать файл? – Jassi

0

Обычно вам нужен ваш сервер periodically execute the script, который читает XML. Для этого PHP нужно будет parse the XML и обработать изменения.

В качестве альтернативы, источник API может использовать push notification, чтобы избежать опроса вашего сервера. XML будет приниматься всякий раз, когда на сервере происходило какое-либо изменение без создания множества бесполезных запросов, но XML будет анализироваться, как в предыдущем подходе.

Последнее, но не менее важное: вы можете использовать WebSockets для этой цели, или если оба компьютера находятся в одной сети, вы можете использовать сокеты. Конечно, многое зависит от источника данных, есть ли у вас доступ к нему, насколько современна его технология и что она позволяет вам делать.