PHP: Как я прокручиваю каждый XML-файл в каталоге?

Я создаю простое приложение. Это пользовательский интерфейс к системе онлайн-заказов.

В принципе, система будет работать следующим образом:

  1. Другие компании загружают свои заказы на наш FTP-сервер. Эти заказы представляют собой простые XML-файлы (содержащие такие вещи, как данные клиента, адресная информация, заказываемые продукты и количества …)

  2. Я создал простой пользовательский интерфейс в HTML5, jQuery и CSS – все работает на PHP.

  3. PHP читает содержимое заказа (используя встроенные функции SimpleXML) и отображает его на веб-странице.

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

Как мне перебирать все файлы XML в каталоге?

Прямо сейчас мое приложение может читать содержимое одного XML-файла и хорошо отображать его на странице.

Мой текущий код выглядит следующим образом:

// pick a random order that I know exists in the Order directory: $xml_file = file_get_contents("Order/6366246.xml",FILE_TEXT); $xml = new SimpleXMLElement($xml_file); // start echo basic order information, like order number: echo $xml->OrderHead->ShopPO; // more information about the order and the customer goes here… echo "<ul>"; // loop through each order line, and echo all quantities and products: foreach ($xml->OrderLines->OrderLine as $orderline) { "<li>".$orderline->Quantity." st.</li>\n". "<li>".$orderline->SKU."</li>\n"; } echo "</ul>"; // more information about delivery options, address information etc. goes here… 

Итак, это мой код. Довольно просто. Это нужно только сделать – распечатать содержимое всех файлов заказов на экране – чтобы я и мои коллеги могли видеть заказ, подтвердить его и доставить.

Вот и все.

Но прямо сейчас – как вы можете видеть – я выбираю один заказ за раз, расположенный в каталоге Order. Но как мне пройти через весь каталог заказов, а также прочитать и отобразить содержимое каждого заказа (например, выше)?

Я застрял. Я не знаю, как вы получаете все (xml) файлы в каталоге, а затем делаете что-то с файлами (например, читаете их и эхо-данные, как я хочу).

-> Мне очень понравилась бы помощь. Я не очень разбираюсь в программировании на PHP / сервере, поэтому, если бы вы могли мне помочь, я был бы очень благодарен.

Заранее большое спасибо!

// Бьорн (знаменитый у меня точка ком)

добро пожаловать в SO.

Попробуйте функцию glob :

 $files = glob("Order/*xml"); if (is_array($files)) { foreach($files as $filename) { $xml_file = file_get_contents($filename, FILE_TEXT); // and proceed with your code } }