Сравнить названия файлов в папке на сайте php
Как сравнить две папки. Вернее как сравнить названия файлов в папке? Для того, чтобы сравнить названия фалов - нам потребуется получить имена файлов в папке.
как сравнить названия файлов в папке?
Получаем имена файлов в папке для сравнения и результат сравнения!.
Для того, чтобы сравнить названия файлов в папке, нам потребуется функция, которая смождет прочитать все названия файлов в папке - это scandir
Чтобы вы могли сравнить в живую разницу между двумя папками, выведем вот таким кодом названия всех файлов в папке, используя функцию print_r:
$array_file = scandir($dir); #Сканируем содержимое указанной директории
print_r($array_file);
?>
Первый раз делал названия файлов. чтобы отличалось лишь одно название, но потом, подумалось - это слишком просто! вы видели скрипт, повторяем его для двух папко и у нас получится два массива с названиями файлов!
Список файлов из первой папки:
Выведем прямо здесь список файлов из первой папки.
(
[0] => .
[1] => ..
[2] => Elitsin-Brat-Gorbacheva.html
[3] => Gorbachev-goret-tebe-v-adu.doc
[4] => Gorbachev-predatel.html
[5] => Gorbachev-prodal-rodinu.txt
[6] => Gorbachev-razvalil-SSSR.php
[7] => amerikosyi_kazlyi.txt
)
Список файлов из второй папки:
Аналогично поступаем и с о второй папкой!
(
[0] => .
[1] => ..
[2] => Elitsin-alkash.html
[3] => Gorbachev-goret-tebe-v-adu.dat
[4] => Gorbachev-predatel.html
[5] => Gorbachev-prodal-rodinu.txt
[6] => Gorbachev-razvalil-SSSR.php
[7] => amerikosyi_kazlyi.txt
[8] => no_title.html
[9] => obama_pidurok.html
[10] => strange_names_file.html
)
Результат сравнения названий файлов вв папке
И далее... предвосхищая, результат сравнения двух папок, скрипт смотри ниже!
Array
(
[2] => Elitsin-Brat-Gorbacheva.html
[3] => Gorbachev-goret-tebe-v-adu.doc
)
чего нет во втором массиве :
Array
(
[2] => Elitsin-alkash.html
[3] => Gorbachev-goret-tebe-v-adu.dat
[8] => no_title.html
[9] => obama_pidurok.html
[10] => strange_names_file.html
)
Сравниваем названия файлов в папке php
И на самом далее - это настоящая магия! Сейчас практически невозможно сравнить, в данных папках содержание, если не смотреть на списки…
а сейчас в них не более 10 файлов! А представьте себе если файлов будет 500!?
Создадим переменную $result
Далее нам понадобится функцияИ сравним две переменные ($array_file, $array_file1)
И сделаем вывод с помощью print_r:
$result = array_diff ($array_file, $array_file1); // чего нет во втором массиве
echo "чего нет во втором массиве<br><br>";
print_r ( $result );
echo " чего нет в первом массиве<br><br>";
$result1 = array_diff ($array_file1, $array_file); // чего нет в первом массиве
print_r ( $result1 );
?>
Здесь нужно отметить, что я предпочитаю разные части разных скриптов не объединять вместе, иначе просто запутываешься, что к чему относится…
Не забываем, что два слеша – это закомментированная строка…т.е. её не будет видно...
Соединим весь код вместе и получим:
Смотрим результат работы нашего скрипта:
Array
(
[2] => Elitsin-Brat-Gorbacheva.html
[3] => Gorbachev-goret-tebe-v-adu.doc
)
Array
(
[2] => Elitsin-alkash.html
[3] => Gorbachev-goret-tebe-v-adu.dat
[8] => no_title.html
[9] => obama_pidurok.html
[10] => strange_names_file.html
)
В связи с тем, что... некоторые пользователи имеют отклонения от нормы... комменты закрыты до момента, как напишу скрипт, когда будут доступны только зарегистрированным, либо будет модерация комментов...
Свободно, комменты оставить более не получится!
Этим вы очень поможете проекту! Заранее огромное спасибо!