Метод changeExtension
Метод changeExtension класса Path
создаёт новый объект пути, в котором
расширение файла заменено на указанное.
Первым параметром передаётся новое
расширение без ведущей точки. Если у
исходного пути расширения не было, оно
будет добавлено. Исходный объект
Path при этом не изменяется -
возвращается новый экземпляр.
Синтаксис
public function changeExtension(string $extension): self
Пример
Давайте заменим расширение .txt на .php:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/article.txt');
$res = $path->changeExtension('php');
echo $res;
?>
Результат выполнения кода:
"/var/www/article.php"
Пример
Давайте добавим расширение файлу, у которого его не было:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/article');
$res = $path->changeExtension('txt');
echo $res;
?>
Результат выполнения кода:
"/var/www/article.txt"
Пример
Давайте убедимся, что исходный объект не изменяется:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('/var/www/article.txt');
$new = $path->changeExtension('php');
echo $path;
echo "\n";
echo $new;
?>
Результат выполнения кода:
"/var/www/article.txt"
"/var/www/article.php"
Пример
Давайте поработаем с относительным путём:
<?php
use Symfony\Component\Filesystem\Path;
$path = new Path('user/article.html');
$res = $path->changeExtension('twig');
echo $res;
?>
Результат выполнения кода:
"user/article.twig"
Смотрите также
-
класс
Path,
который представляет путь к файлу или директории -
метод
getExtension,
который возвращает расширение файла -
метод
hasExtension,
который проверяет наличие расширения у файла -
метод
getFilenameWithoutExtension,
который возвращает имя файла без расширения