Появилась новая версия скрипта!
<?php require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); define("NO_KEEP_STATISTIC", true); define("NOT_CHECK_PERMISSIONS", true); // Формируем кэш имен файлов на основе таблицы b_file. $arFilesCache = array(); $result = $DB->Query('SELECT FILE_NAME, SUBDIR FROM b_file WHERE MODULE_ID = "iblock"'); while ($row = $result->Fetch()) { $arFilesCache[ $row['FILE_NAME'] ] = $row['SUBDIR']; } $rootDirPath = $_SERVER['DOCUMENT_ROOT'] . "/upload/iblock"; $hRootDir = opendir($rootDirPath); $count = 0; while (false !== ($subDirName = readdir($hRootDir))) { if ($subDirName == '.' || $subDirName == '..') continue; $subDirPath = "$rootDirPath/$subDirName"; $hSubDir = opendir($subDirPath); while (false !== ($fileName = readdir($hSubDir))) { if ($fileName == '.' || $fileName == '..') continue; if (array_key_exists($fileName, $arFilesCache)) { continue; } $fullPath = "$subDirPath/$fileName"; if ($_GET['action']=='delete') { if (unlink($fullPath)) { echo "Удалён " . $fullPath . ' '; } } elseif ($_GET['action']=='move' && !empty($_GET['dir'])) { $commandvalue = $_GET['dir']; mkdir("$commandvalue/$subDirName",0775, true); if (rename($fullPath, "$commandvalue/$subDirName/$fileName")) { echo "Перенос " . $fullPath . ' '; } } else { echo $fullPath . ' '; } } closedir($hSubDir); if (!empty($_GET['action'])) { //delete empty directory @rmdir($subDirPath); } } closedir($hRootDir); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
