SplFileInfo::getFilename

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getFilenameGets the filename

Опис

public SplFileInfo::getFilename(): string

Gets the filename without any path information.

Параметри

У цієї функції немає параметрів.

Значення, що повертаються

The filename.

Приклади

Приклад #1 SplFileInfo::getFilename() example

<?php
$info
= new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

Поданий вище приклад виведе щось схоже на:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Прогляньте також

add a note

User Contributed Notes 3 notes

up
14
Alex Russell
9 years ago
I was trying to work out the difference between this and getBasename (http://php.net/manual/splfileinfo.getbasename.php) and the only difference I could really see was a special case of a file in the filesystem root with the root specified:<?phpfunction getInfo($reference){    $file = new SplFileInfo($reference);    var_dump($file->getFilename());    var_dump($file->getBasename());}$test = [    '/path/to/file.txt',    '/path/to/file',    '/path/to/',    'path/to/file.txt',    'path/to/file',    'file.txt',    '/file.txt',    '/file',];foreach ($test as $file) {    getInfo($file);}// will return:/*string(8) "file.txt"string(8) "file.txt"string(4) "file"string(4) "file"string(2) "to"string(2) "to"string(8) "file.txt"string(8) "file.txt"string(4) "file"string(4) "file"string(8) "file.txt"string(8) "file.txt"string(9) "/file.txt" // see how getFilename includes the '/'string(8) "file.txt"  // but getBasename doesn'tstring(5) "/file"     // ditto getFilenamestring(4) "file"      // ditto getBasename*/?>
up
7
wloske at yahoo dot de
15 years ago
It should be mentioned that the function returns the name of the directory if "filename" is of type "directory". Hence<?php$info = new SplFileInfo('/path/to/');var_dump($info->getFilename());?>should return "to"The function name is kind of misleading here and I am glad to have it tried.
up
-4
khalidhameedkht at gmail dot com
8 years ago
// Careful, output is different for `filename` vs `getFilename`. Inconsistent behaviour.$path = 'test.txt';$pathInfo = pathinfo($path);echo '<pre>';print_r($pathInfo);echo '<br>';echo '***************';$splFileInfo = new SplFileInfo($path);echo '<br>';echo $splFileInfo->getBasename();echo '<br>';echo $splFileInfo->getFilename();
To Top