удалить лишние изображения

Home » Bitrix » Bitrix наработки » удалить лишние изображения
Bitrix наработки Комментариев нет
Скрипт, удаляющий изображения, которые не привязаны ни к чему. Аккуратно с ИБ, у которых отдельно хранятся значения. <? require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'); global $DB; $t1 = microtime(true); $q = 'SELECT f.ID FROM `b_file` AS f LEFT JOIN `b_iblock_element` AS e1 ON f.ID = e1.PREVIEW_PICTURE LEFT JOIN `b_iblock_element` AS e2 ON f.ID = e2.DETAIL_PICTURE LEFT JOIN `b_iblock_section` AS s1 ON f.ID = s1.PICTURE LEFT JOIN `b_iblock_section` AS s2 ON f.ID = s2.DETAIL_PICTURE LEFT JOIN `b_iblock_element_property` AS ep ON f.ID = ep.VALUE_ENUM LEFT JOIN `b_iblock_property` AS p ON (ep.IBLOCK_PROPERTY_ID = p.ID AND p.PROPERTY_TYPE = "F") WHERE (f.module_id = "iblock" OR f.module_id = "") AND e1.ID IS NULL AND e2.ID IS NULL AND s1.ID IS NULL AND s2.ID IS NULL AND ep.ID IS NULL LIMIT 500'; $db = $DB->query($q); while ($arItem = $db->fetch()) { echo '<div>'.print_r($arItem,1).'</div>'; // аккуратно с ИБ, у которых отдельно хранятся значения //CFile::Delete($arItem["ID"]); } $t2 = microtime(true); echo '<pre>' . print_r($t2 - $t1,1) . '</pre>'; ?> <script type="text/javascript"> location.reload(); </script>