文字

SplFileInfo::getFilename

(PHP 5 >= 5.1.2)

SplFileInfo::getFilenameGets the filename

说明

public string SplFileInfo::getFilename ( void )

Gets the filename without any path information.

参数

此函数没有参数。

返回值

The filename.

范例

Example #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" 

参见

  • SplFileInfo::getBasename() - Gets the base name of the file

用户评论:

[#1] Alex Russell [2015-09-28 15:39:28]

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:

<?php
function 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:


?>

[#2] wloske at yahoo dot de [2009-10-19 09:12:53]

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.

上一篇: 下一篇: