Skip to content

Kirby 3.9.8

$file->changeName()

Renames the file without touching the extension The store is used to actually execute this.

$file->changeName(string $name, bool $sanitize = true): Kirby\Cms\File

Parameters

Name Type Default
$name * string
$sanitize bool true

Return type

Kirby\Cms\File

This method does not modify the existing $file object but returns a new object with the changes applied. Learn more →

Exceptions

Parent class

Kirby\Cms\File

Details

Kirby's objects are immutable. That means, when you modify an object like $page, $file etc. using a method like update(), changeTitle() and so on, a new object is returned. Therefore, you have to store the returned object in a new variable to be able to further work with it.

Example

if($file = $page->file('file-with-old-name.pdf')):

    try {

      $newFile = $file->changeName('new-name.pdf');
      echo 'The file has been renamed';

    } catch(Exception $e) {

      echo 'The file could not be renamed';
      // optional reason: echo $e->getMessage();

    }
endif;