Метод getRealPath
Метод getRealPath класса File возвращает абсолютный путь к файлу в файловой системе.
Этот метод не принимает параметров и возвращает строку с полным путём или значение null,
если файл не существует. Метод полезен, когда нужно получить реальное расположение файла
для дальнейшей обработки, логирования или передачи в другие функции.
Синтаксис
public function getRealPath(): string|false
Пример
Давайте создадим объект File для существующего файла и получим его абсолютный путь:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Finder\SplFileInfo;
class FileController extends AbstractController
{
public function index(): Response
{
$file = new \Symfony\Component\HttpFoundation\File\File(
__DIR__ . '/../../public/uploads/article.txt'
);
$res = $file->getRealPath();
return new Response($res);
}
}
?>
Результат выполнения кода:
"/var/www/project/public/uploads/article.txt"
Пример
Давайте проверим поведение метода, если файл не существует:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
class FileController extends AbstractController
{
public function index(): Response
{
$file = new \Symfony\Component\HttpFoundation\File\File(
__DIR__ . '/../../public/uploads/missing.txt'
);
$res = $file->getRealPath();
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Смотрите также
-
класс
File,
который представляет файл в файловой системе -
метод
getPathname,
который возвращает путь и имя файла -
метод
getFilename,
который возвращает имя файла -
метод
getExtension,
который возвращает расширение файла