Метод getPath
Метод getPath класса File возвращает путь к файлу
или директории. Метод не принимает параметров и возвращает
строку - путь, который был передан при создании объекта.
Если объект создавался через абсолютный путь, вернётся
абсолютный путь; если через относительный - относительный.
Синтаксис
public function getPath(): string
Пример
Давайте создадим объект File с относительным путём
и получим его через метод getPath:
<?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/path', name: 'file_path')]
public function path(): Response
{
$file = new File('uploads/article.txt');
return new Response($file->getPath());
}
}
?>
Результат выполнения кода:
"uploads/article.txt"
Пример
Давайте создадим объект File с абсолютным путём
и сравним результат:
<?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/abs', name: 'file_abs')]
public function abs(): Response
{
$file = new File('/var/www/project/uploads/article.txt');
return new Response($file->getPath());
}
}
?>
Результат выполнения кода:
"/var/www/project/uploads/article.txt"
Пример
Давайте используем метод getPath вместе с методом
getFilename, чтобы получить путь и имя файла:
<?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/info', name: 'file_info')]
public function info(): Response
{
$file = new File('uploads/user.txt');
$res = $file->getPath() . ' / ' . $file->getFilename();
return new Response($res);
}
}
?>
Результат выполнения кода:
"uploads/user.txt / user.txt"
Смотрите также
-
класс
File,
который представляет файл или директорию -
метод
getPathname,
который возвращает полный путь к файлу -
метод
getRealPath,
который возвращает абсолютный путь к файлу -
метод
getFilename,
который возвращает имя файла