遇到我有像这样的路径字符串:截断从最后一个字符串,直到一个字符在PHP
C:/myfolder/mysubfolder/myfile.doc
我需要截断该字符串变成:
myfile.doc
不用比如说,我有一个不同长度和不同文件夹深度的路径列表。我需要的是类似于从字符串的最后一个字符串开始直到遇到第一个字符串为止的字符串的其余部分。
我该如何在PHP中实现这一点。
非常感谢
遇到我有像这样的路径字符串:截断从最后一个字符串,直到一个字符在PHP
C:/myfolder/mysubfolder/myfile.doc
我需要截断该字符串变成:
myfile.doc
不用比如说,我有一个不同长度和不同文件夹深度的路径列表。我需要的是类似于从字符串的最后一个字符串开始直到遇到第一个字符串为止的字符串的其余部分。
我该如何在PHP中实现这一点。
非常感谢
您可以使用basename()函数。
echo basename("C:/myfolder/mysubfolder/myfile.doc");
输出:
myfile.doc
注意,这不正是你所描述的事情,因为这些投入为:
/etc/
.
它将返回
etc
.
所以一个(未经测试的)替代品可以是:
$fullname = "C:/myfolder/mysubfolder/myfile.doc";
$parts = explode("/", $fullname);
$filename = $parts[count($parts)-1];
echo $filename;
$path = 'C:/myfolder/mysubfolder/myfile.doc':
$filename = basename($path);
echo $filename; // "myfile.doc"
见Manual "basename()"。有关路径的更多详细信息,请参见pathinfo()
如果你的意思是你想要的文件名段,你可以使用basename()
如果一个假设,可能存在非文件在列表中,其所需,这一切都是一个文件,应该使用'is_file()' – KingCrunch 2011-05-09 09:15:32
非常详细和翔实。谢谢工作很棒! – seedg 2011-05-09 12:00:18