如何从PHP的字符串中删除扩展名?
有三种方法可以从字符串中删除扩展名。它们如下
- 使用内置函数pathinfo
- 使用内置函数basename
- 使用字符串函数 substr 和 strrpos
使用 pathinfo()函数: pathinfo()函数返回一个包含目录名、基名、扩展名和文件名的数组。
句法:
pathinfo ( $path, $options = PATHINFO_DIRNAME|PATHINFO_BASENAME|PATHINFO_EXTENSION|PATHINFO_FILENAME )
或者,如果只有一个 PATHINFO_ 常量作为参数传递,它只返回完整文件名的那一部分。
例子:
输出:
filename
注意:如果文件名包含完整路径,则只返回没有扩展名的文件名。
使用 basename()函数: basename()函数用于以字符串的形式返回路径的尾随名称部分。 basename() 对输入字符串进行了天真操作,并且不知道实际的文件系统或路径组件,例如“..”
句法:
basename ( $path, $suffix )
当文件的扩展名已知时,它可以作为参数传递给 basename函数,以告诉它从文件名中删除该扩展名。
例子:
输出:
filename
使用 substr() 和 strrpos()函数:另一种从文件名中删除扩展名的方法是使用字符串函数 substr 和 strrpos。的SUBSTR()函数返回字符串而strrpos的部分()发现在一个字符串的子串的最后出现的位置。
句法:
substr ( $string, $start, $length )
例子:
输出:
filename
注意:如果文件名包含完整路径,则返回完整路径和不带扩展名的文件名。