• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/file.php
  • Класс: CFile
  • Вызов: CFile::ResizeImageDelete
static function ResizeImageDelete($arImage)
{
	$io = CBXVirtualIo::GetInstance();
	$upload_dir = COption::GetOptionString("main", "upload_dir", "upload");
	$disk_space = COption::GetOptionInt("main", "disk_space");
	$delete_size = 0;

	$d = $io->GetDirectory($_SERVER["DOCUMENT_ROOT"]."/".$upload_dir."/resize_cache/".$arImage["SUBDIR"]);

	/** @var CBXVirtualFileFileSystem|CBXVirtualDirectoryFileSystem $dir_entry */
	foreach($d->GetChildren() as $dir_entry)
	{
		if($dir_entry->IsDirectory())
		{
			$f = $io->GetFile($dir_entry->GetPathWithName()."/".$arImage["FILE_NAME"]);
			if($f->IsExists())
			{
				if ($disk_space > 0)
				{
					$fileSizeTmp = $f->GetFileSize();
					if ($io->Delete($f->GetPathWithName()))
						$delete_size += $fileSizeTmp;
				}
				else
				{
					$io->Delete($f->GetPathWithName());
				}
			}

			try
			{
				@rmdir($io->GetPhysicalName($dir_entry->GetPathWithName()));
			}
			catch(ErrorException $exception)
			{
				// Ignore a E_WARNING Error
			}
		}
	}

	try
	{
		@rmdir($io->GetPhysicalName($d->GetPathWithName()));
	}
	catch(ErrorException $exception)
	{
		// Ignore a E_WARNING Error
	}

	return $delete_size;
}