Удаление несуществующих записей в таблице b_file в Bitrix

Файлы удаляются из хранилища данных по различным причинам, но соответствующие им записи остаются в базе данных. Рано или поздно это приведёт к отображению недействующих ссылок или ошибкам. 

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

Чтобы удалить все записи на файлы, которые уже не существуют, нужно выполнить следующий код:

$resource = \CFile::GetList(['ID' => 'ASC']);
while ($file = $resource->Fetch()) {
    $path = $_SERVER['DOCUMENT_ROOT'] . '/upload/' . $file['SUBDIR'] . '/' . $file['FILE_NAME'];
    if (!file_exists($path)) {
        \CFile::Delete($file['ID']);
    }
}