/**
  * @en Gets file or directory size in bytes
  * @ru Получает размер файла или директории в байтах
  *
  * $file_size = filesystem::size('file.txt');  # int(18)         # 18 bytes
  *
  * $dir_size = filesystem::size('/srv/http/'); # int(8168620229) # 7790.2 megabytes
  *
  * @param string $path File path
  *
  * @return int
  */
 public static function size($path)
 {
     if (filesystem::is_file($path)) {
         return filesize($path);
     }
     $size = 0;
     foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path)) as $file) {
         /** @var \SplFileInfo $file */
         $size += $file->getSize();
     }
     return $size;
 }