Главная
Друзья!
Мы находимся в процессе большой чистки!
Возможны ошибки и кривизна страниц
Просмотреть всё и быстро не возможно!
Если нашли какую-то ошибку, то если вам не трудно напишите здесь адрес...
Сейчас вы здесь :
http://dwweb.ru/page/php/function/031_sravnit_papki_php.html

Сравнить папки php Сравнить папки на сайте php отличи

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

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

Поскольку, мы уже один раз сканировали нашу папку на содержание файлов, то не нужно изобретать велосипед, и мы воспользуемся данным кодом:

<?php

$dir = '/home/директория';

$file = scandir($dir); #Сканируем содержимое указанной директории

$arr = $file;

for($i = 0; $i < count($arr); $i++)

{

echo $arr[$i]."<br />\n";

}

?>

И далее нам нужны две папки, которые мы будем сранивать!

Первая, Вторая.

Я для наглядности сделал, чтобы отличался только первый файл!

И для того, чтобы увидеть списки из папок, которые будут сравниваться:

Список файлов из первой папки:

.

..

Elitsin-alkash.html

Gorbachev-goret-tebe-v-adu.dat

Gorbachev-predatel.html

Gorbachev-prodal-rodinu.txt

Gorbachev-razvalil-SSSR.php

amerikosyi_kazlyi.txt

obama_pidurok.html

Список файлов из второй папки:

.

..

Elitsin-Brat-Gorbacheva.html

Gorbachev-goret-tebe-v-adu.doc

Gorbachev-predatel.html

Gorbachev-prodal-rodinu.txt

Gorbachev-razvalil-SSSR.php

amerikosyi_kazlyi.txt

чего нет во первом массиве :

Elitsin-Brat-Gorbacheva.html

Gorbachev-goret-tebe-v-adu.doc

чего нет в втором массиве :

Elitsin-alkash.html

Gorbachev-goret-tebe-v-adu.dat

obama_pidurok.html

И на самом далее - это настоящая магия! Сейчас практически невозможно сравнить, в данных папках содержание, если не смотреть на списки…

а сейчас в них не более 10 файлов! А представьте себе если файлов будет 500!?

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

$arr = $file;

Первое можно оставить и так, а вот вторую запись надо изменить, потому, что нам нужны две разные переменные.

$arr = $file1;

Создадим переменную $result

Далее нам понадобится функция array_diff

И сравним две переменные ($file, $file1

И сделаем выво с помощью foreach:

<?php

$result = array_diff ($file, $file1); // чего нет во втором массиве

echo "чего нет во втором массиве<br><br>";

foreach($result as $value) // вывод массива как список

{

echo "$value <br>\n";

}

echo " чего нет в первом массиве<br><br>";

$result1 = array_diff ($file1, $file); // чего нет в первом массиве

foreach($result1 as $value) // вывод массива как список

{

echo "$value <br>\n";

}

?>

Здесь нужно отметить, что я предпочитаю разные части разных скриптов не объединять вместе, иначе просто запутываешься, что к чему относится…

Не забываем, что два слеша – это закомментированная строка…т.е. её не будет видно...

Соединим весь код вместе и получим:

Скопировать полный листинг в конце текста...

Смотрим результат работы нашего скрипта:

чего нет во первом массиве :

Elitsin-Brat-Gorbacheva.html

Gorbachev-goret-tebe-v-adu.doc

чего нет в втором массиве :

Elitsin-alkash.html

Gorbachev-goret-tebe-v-adu.dat

obama_pidurok.html

Посмотреть пример и скачать можно по ниже идущей ссылке

Скрипт № 26.7
Название скрипта и номер :Сравнить файлы в двух папках php
Пример - Сравнить файлы в двух папках php
Скачать - архив
Все скрипты на одной странице