• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/cache_files.php
  • Класс: CPHPCacheFiles
  • Вызов: CPHPCacheFiles::read
function read(&$arAllVars, $basedir, $initdir, $filename, $TTL)
{
	$fn = rtrim($_SERVER["DOCUMENT_ROOT"], "/")."/".ltrim($basedir.$initdir, "/").$filename;

	if(!file_exists($fn))
		return false;

	$handle = null;

	if(is_array($arAllVars))
	{
		$INCLUDE_FROM_CACHE='Y';
		if(!@include($fn))
			return false;
	}
	else
	{
		$handle = fopen($fn, "rb");
		if(!$handle)
			return false;

		$datecreate = fread($handle, 2);
		if($datecreate == "BX")
		{
			$datecreate = fread($handle, 12);
			$dateexpire = fread($handle, 12);
		}
		else
		{
			$datecreate .= fread($handle, 10);
		}
	}

	/* We suppress warning here in order not to break
	the compression under Zend Server */
	$this->read = @filesize($fn);
	$this->path = $fn;

	$res = false;
	if(intval($datecreate) >= (time() - $TTL))
	{
		if(is_array($arAllVars))
		{
			$arAllVars = unserialize($ser_content);
		}
		else
		{
			$arAllVars = fread($handle, filesize($fn));
		}
		$res = true;
	}

	if($handle)
	{
		fclose($handle);
	}

	return $res;
}