Метод getSize класса File
Метод getSize класса File возвращает
размер файла в байтах. Метод не принимает параметров
и возвращает целое число. Если файл не существует
или недоступен для чтения, будет выброшено исключение
FileNotFoundException.
Синтаксис
public function getSize(): int
Пример
Давайте получим размер файла по указанному пути:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\Filesystem\File\File;
class FileController extends AbstractController
{
#[Route('/file/size', name: 'file_size')]
public function size(): Response
{
$file = new File('/var/www/project/var/data.txt');
$res = $file->getSize();
return new Response((string) $res);
}
}
?>
Результат выполнения кода:
1024
Пример
Давайте проверим размер нескольких файлов и выведем результат в виде массива:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\Filesystem\File\File;
class FileController extends AbstractController
{
#[Route('/file/sizes', name: 'file_sizes')]
public function sizes(): Response
{
$files = [
new File('/var/www/project/var/file1.txt'),
new File('/var/www/project/var/file2.txt'),
new File('/var/www/project/var/file3.txt'),
];
$res = [];
foreach ($files as $file) {
$res[] = $file->getSize();
}
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
[512, 2048, 4096]
Смотрите также
-
класс
File,
который представляет файл в файловой системе -
метод
getMimeType,
который возвращает MIME-тип файла -
метод
getFilename,
который возвращает имя файла -
метод
getExtension,
который возвращает расширение файла