方法一:使用内置函数pathinfo()
pathinfo()函数会以数组的形式返回文件路径的信息,包含:dirname、basename、extension、filename。
基本语法:
pathinfo(path,options)
参数path:表示要检查的路径。
参数options:可省略,表示要返回的数组元素,默认值为all。可以有以下的值:
● PATHINFO_DIRNAME: 只返回目录名(dirname)。
● PATHINFO_BASENAME:返回完整的文件名(basename),即带扩展名的文件名。
● PATHINFO_EXTENSION: 只返回扩展名(extension)
● PATHINFO_FILENAME: 返回不带扩展名的文件名(filename)。
代码示例:
// 用文件名初始化变量
$file='demo.html';
// 仅提取文件名
$x=pathinfo($file, PATHINFO_FILENAME);
//phpfensi.com
// 输出
echo$x;
?>
输出:
demo
注:如果文件名包含完整路径,也仅返回不带扩展名的文件名。
方法二:使用内置函数basename()
basename()函数返回路径中的文件名部分,即不带扩展名的文件名;该函数用于以string的形式返回path的尾随名称组件。
基本语法:
basename(path,suffix)
参数path:表示要检查的路径。
参数suffix:可省略,表示文件扩展名。如果不省略suffix参数,则输出不带扩展名的文件名。
代码示例:
$file='demo/filename.txt';
$x=basename($file,'.txt');
//phpfensi.com
echo$x;
?>
输出:
filename
方法三:使用使用substr()和strrpos()函数
substr()函数用于返回字符串的一部分,而strrpos()会查找字符串中最后一次出现的子字符串的位置。
代码示例:
$file='PHP.pdf';
$x=substr($file, 0,strrpos($file,'.'));
//phpfensi.com
echo$x;
?>
输出:
PHP
注:如果文件名包含完整路径,则返回不带扩展名的完整路径和文件名。
例:如果$file = 'demo/PHP.pdf', 则返回:
demo/PHP