В настоящее время я использую SimpleXML для чтения файла XML для создания моего первого массива. Этот массив отображает список изображений, которые находятся в каталоге и записаны в файл XML.
Это работало для меня в прошлом, пока я не загрузил новые фотографии в тот же альбом. Мне нравится знать, что нужно сделать, чтобы получить полный список изображений, которые были загружены в конец этого первого массива. Есть предложения?
XML-файл:
<album>
<image path="/albums/1/images/100_4124.jpg" />
<image path="/albums/1/images/100_4307.jpg" />
<image path="/albums/1/images/100_4335.jpg" />
</album>
SimpleXML для получения массива:
$xml = simplexml_load_file('/albums/1/photos.xml');
foreach ($xml->image as $image) {
echo '<li><img src="'.$image.'"></li>';
}
Что я получаю за свои результаты:
<li><img src="/albums/1/images/100_4124.jpg"></li>
<li><img src="/albums/1/images/100_4307.jpg"></li>
<li><img src="/albums/1/images/100_4335.jpg"></li>
Сканирование каталога для всех изображений:
if ($handle = @opendir('/albums/1/')) {
$filenames = array();
while (false !== ($file = readdir($handle))) {
$ext = substr($file, strrpos($file, '.') + 1);
if ($file != '.' && $file != '..') {
$filenames[] = $file;
$total++;
}
}
}
closedir($handle);
foreach ($filenames as $filename) {
echo '<li><img src="'.$filename.'"></li>';
}
Что бы я хотел получить за результаты, используя оба массива:
<li><img src="/albums/1/images/100_4124.jpg"></li>
<li><img src="/albums/1/images/100_4307.jpg"></li>
<li><img src="/albums/1/images/100_4335.jpg"></li>
<li><img src="/albums/1/images/100_9000.jpg"></li>
<li><img src="/albums/1/images/100_9001.jpg"></li>
<li><img src="/albums/1/images/100_9002.jpg"></li>
Последние 3 изображения, отсутствующие в файле XML, добавят его в конец списка.