- Модуль: 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;
}