• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/update_class.php
  • Класс: CUpdateSystem
  • Вызов: CUpdateSystem::EraseOldFolders
static function EraseOldFolders($iCnt = 1)
{
	$iCnt = intval($iCnt);

	$path = $_SERVER["DOCUMENT_ROOT"]."/bitrix/updates";
	$arFolders = array();
	if ($handle = @opendir($path))
	{
		while (($file = readdir($handle)) !== false)
		{
			if ($file == "." || $file == "..") continue;

			if (is_dir($path."/".$file)
				&& substr($file, 0, strlen("update_m"))=="update_m")
			{
				$arFolders[] = array($file, intval(substr($file, strlen("update_m"))));
			}
		}
	}
	@closedir($handle);

	if (count($arFolders) > $iCnt)
	{
		for ($i = 0, $ni = count($arFolders); $i < $ni - 1; $i++)
		{
			for ($j = $i + 1; $j < $ni; $j++)
			{
				if ($arFolders[$i][1] < $arFolders[$j][1])
				{
					$tmp = $arFolders[$i];
					$arFolders[$i] = $arFolders[$j];
					$arFolders[$j] = $tmp;
				}
			}
		}

		for ($i = $iCnt, $ni = count($arFolders); $i < $ni; $i++)
		{
			CUpdateSystem::DeleteDirFilesEx($path."/".$arFolders[$i][0]);
		}
	}
}