• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/cache_files.php
  • Класс: CPHPCacheFiles
  • Вызов: CPHPCacheFiles::DeleteOneDir
static function DeleteOneDir($etime = 0)
{
	global $DB;
	$bDeleteFromQueue = false;

	$rs = $DB->Query($DB->TopSql("SELECT * from b_cache_tag WHERE TAG='*'", 1));
	if($ar = $rs->Fetch())
	{
		$dir_name = $_SERVER["DOCUMENT_ROOT"].$ar["RELATIVE_PATH"];
		if($ar["RELATIVE_PATH"] != '' && file_exists($dir_name))
		{
			$dh = opendir($dir_name);
			if(is_resource($dh))
			{
				$Counter = 0;
				while(($file = readdir($dh)) !== false)
				{
					if($file != "." && $file != "..")
					{
						DeleteDirFilesEx($ar["RELATIVE_PATH"]."/".$file);
						$Counter++;
						if(time() > $etime)
							break;
					}
				}
				closedir($dh);

				if($Counter == 0)
				{
					rmdir($dir_name);
					$bDeleteFromQueue = true;
				}
			}
		}
		else
		{
			$bDeleteFromQueue = true;
		}

		if($bDeleteFromQueue)
		{
			$DB->Query("DELETE FROM b_cache_tag WHERE ID = ".intval($ar["ID"]));
		}
	}
}