Bitrix-D7  20.0.0
Класс FileSystemEntry
Граф наследования:FileSystemEntry:
DirectoryEntry FileEntry Directory File Directory RobotsFile SitemapFile Archiver CsvFile File SitemapIndex SitemapRuntime

Открытые члены

 __construct ($path, $siteId=null)
 
 isSystem ()
 
 getName ()
 
 getDirectoryName ()
 
 getPath ()
 
 getDirectory ()
 
 getCreationTime ()
 
 getLastAccessTime ()
 
 getModificationTime ()
 
 isExists ()
 
 isDirectory ()
 
 isFile ()
 
 isLink ()
 
 markWritable ()
 
 getPermissions ()
 
 delete ()
 
 getPhysicalPath ()
 
 rename ($newPath)
 

Защищенные статические члены

static getDocumentRoot ($siteId)
 

Защищенные данные

 $path
 
 $originalPath
 
 $pathPhysical
 
 $siteId
 

Подробное описание

См. определение в файле filesystementry.php строка 6

Конструктор(ы)

◆ __construct()

__construct (   $path,
  $siteId = null 
)

Переопределяется в File, Archiver, Directory, File, Directory, DirectoryEntry, FileEntry и SitemapFile.

См. определение в файле filesystementry.php строка 13

14  {
15  if ($path == '')
16  throw new InvalidPathException($path);
17 
18  $this->originalPath = $path;
19  $this->path = Path::normalize($path);
20  $this->siteId = $siteId;
21 
22  if ($this->path == '')
23  throw new InvalidPathException($path);
24  }

Методы

◆ delete()

delete ( )
abstract

Переопределяется в File и Directory.

◆ getCreationTime()

getCreationTime ( )
abstract

Переопределяется в File и Directory.

◆ getDirectory()

getDirectory ( )

См. определение в файле filesystementry.php строка 71

72  {
73  return new Directory($this->getDirectoryName());
74  }

◆ getDirectoryName()

getDirectoryName ( )

См. определение в файле filesystementry.php строка 61

62  {
63  return Path::getDirectory($this->path);
64  }

◆ getDocumentRoot()

static getDocumentRoot (   $siteId)
staticprotected

См. определение в файле filesystementry.php строка 116

117  {
118  if($siteId === null)
119  {
120  $documentRoot = Main\Application::getDocumentRoot();
121  }
122  else
123  {
124  $documentRoot = Main\SiteTable::getDocumentRoot($siteId);
125  }
126  return $documentRoot;
127  }

◆ getLastAccessTime()

getLastAccessTime ( )
abstract

Переопределяется в File и Directory.

◆ getModificationTime()

getModificationTime ( )
abstract

Переопределяется в File и Directory.

◆ getName()

getName ( )

См. определение в файле filesystementry.php строка 56

57  {
58  return Path::getName($this->path);
59  }

◆ getPath()

getPath ( )

См. определение в файле filesystementry.php строка 66

67  {
68  return $this->path;
69  }

◆ getPermissions()

getPermissions ( )
abstract

Переопределяется в File и Directory.

◆ getPhysicalPath()

getPhysicalPath ( )

См. определение в файле filesystementry.php строка 90

91  {
92  if (is_null($this->pathPhysical))
93  $this->pathPhysical = Path::convertLogicalToPhysical($this->path);
94 
95  return $this->pathPhysical;
96  }

◆ isDirectory()

isDirectory ( )
abstract

Переопределяется в DirectoryEntry и FileEntry.

◆ isExists()

isExists ( )
abstract

Переопределяется в File и Directory.

◆ isFile()

isFile ( )
abstract

Переопределяется в DirectoryEntry и FileEntry.

◆ isLink()

isLink ( )
abstract

Переопределяется в DirectoryEntry и FileEntry.

◆ isSystem()

isSystem ( )

См. определение в файле filesystementry.php строка 26

27  {
28  if (preg_match("#/\\.#", $this->path))
29  return true;
30 
31  $documentRoot = static::getDocumentRoot($this->siteId);
32 
33  if (substr($this->path, 0, strlen($documentRoot)) === $documentRoot)
34  {
35  $relativePath = substr($this->path, strlen($documentRoot));
36  $relativePath = ltrim($relativePath, "/");
37  if (($pos = strpos($relativePath, "/")) !== false)
38  $s = substr($relativePath, 0, $pos);
39  else
40  $s = $relativePath;
41  $s = strtolower(rtrim($s, "."));
42 
43  $ar = array(
44  "bitrix" => 1,
45  Main\Config\Option::get("main", "upload_dir", "upload") => 1,
46  "local" => 1,
47  "urlrewrite.php" => 1,
48  );
49  if (isset($ar[$s]))
50  return true;
51  }
52 
53  return false;
54  }

◆ markWritable()

markWritable ( )
abstract

Переопределяется в File и Directory.

◆ rename()

rename (   $newPath)

См. определение в файле filesystementry.php строка 98

99  {
100  $newPathNormalized = Path::normalize($newPath);
101 
102  $success = true;
103  if ($this->isExists())
104  $success = rename($this->getPhysicalPath(), Path::convertLogicalToPhysical($newPathNormalized));
105 
106  if ($success)
107  {
108  $this->originalPath = $newPath;
109  $this->path = $newPathNormalized;
110  $this->pathPhysical = null;
111  }
112 
113  return $success;
114  }

Поля

◆ $originalPath

$originalPath
protected

См. определение в файле filesystementry.php строка 9

◆ $path

$path
protected

См. определение в файле filesystementry.php строка 8

◆ $pathPhysical

$pathPhysical
protected

См. определение в файле filesystementry.php строка 10

◆ $siteId

$siteId
protected

См. определение в файле filesystementry.php строка 11


Объявления и описания членов класса находятся в файле:
Bitrix\Main\SiteTable\getDocumentRoot
static getDocumentRoot($siteId=null)
Definition: main/lib/site.php:16
Bitrix\Main\Config
Definition: main/lib/config/configuration.php:2
Bitrix\Main\IO\Path\getName
static getName($path)
Definition: main/lib/io/path.php:98
Bitrix\Main\IO\FileSystemEntry\$path
$path
Definition: filesystementry.php:8
Bitrix\Main\IO\FileSystemEntry\$pathPhysical
$pathPhysical
Definition: filesystementry.php:10
Bitrix\Main\IO\FileSystemEntry\getPhysicalPath
getPhysicalPath()
Definition: filesystementry.php:90
Bitrix\Main\IO\FileSystemEntry\rename
rename($newPath)
Definition: filesystementry.php:98
Bitrix\Main\IO\Path\normalize
static normalize($path)
Definition: main/lib/io/path.php:26
Bitrix\Main\IO\FileSystemEntry\$siteId
$siteId
Definition: filesystementry.php:11
Bitrix\Main\Config\Option\get
static get($moduleId, $name, $default="", $siteId=false)
Returns a value of an option.
Definition: main/lib/config/option.php:29
Bitrix\Main\IO\Path\getDirectory
static getDirectory($path)
Definition: main/lib/io/path.php:109
Bitrix\Main\Application\getDocumentRoot
static getDocumentRoot()
Returns server document root.
Definition: main/lib/application.php:460
Bitrix\Main\IO\FileSystemEntry\getDirectoryName
getDirectoryName()
Definition: filesystementry.php:61
Bitrix\Main\IO\Path\convertLogicalToPhysical
static convertLogicalToPhysical($path)
Definition: main/lib/io/path.php:114
Bitrix\Main\IO\FileSystemEntry\isExists
isExists()