Скрипт для очистки каталога upload/iblock сайта на CMS 1С-Битрикс от неиспользуемых файлов (оставшихся после удаления элемента инфоблока).
Скрипт для очистки каталога upload/iblock от неиспользуемых файлов, которые могут оставаться после удаления элемента инфоблока и, особенно, многократных обменов с 1С.
Скрипт проверяет каждый файл в каталоге upload/iblock, есть ли он в таблице b_file и если его там нет выводит полный путь к нему на экран, а если указана опция --delete-files, то удаляет файл.
В режиме удаления (с опцией --delete-files), если каталог, в котором находился удаляемый файл становится пустым - удаляет и его.
В настоящий момент реализован простейший алгоритм, которые перед сканированием каталога upload/iblock загружает все имена файлов из таблицы b_file в оперативную память, поэтому надо иметь в виду, что в случае нехватки памяти скрипт будет падать.
Получить список всех неиспользуемых файлов из каталога upload/iblock:
php clear_upload.php /var/www/example.com
Удалить все неиспользуемые файлы из каталога upload/iblock:
php clear_upload.php --delete-files /var/www/example.com