当前位置:首页 > PHP教程 > php应用 > 列表

如何使用PHP获取不带扩展名的文件名?(代码示例)

发布:smiling 来源: PHP粉丝网  添加日期:2020-01-07 16:01:05 浏览: 评论:0 

方法一:使用内置函数pathinfo()

pathinfo()函数会以数组的形式返回文件路径的信息,包含:dirname、basename、extension、filename。

基本语法:

pathinfo(path,options)

参数path:表示要检查的路径。

参数options:可省略,表示要返回的数组元素,默认值为all。可以有以下的值:

● PATHINFO_DIRNAME: 只返回目录名(dirname)。

● PATHINFO_BASENAME:返回完整的文件名(basename),即带扩展名的文件名。

● PATHINFO_EXTENSION: 只返回扩展名(extension)

● PATHINFO_FILENAME: 返回不带扩展名的文件名(filename)。

代码示例:

  1. <?php  
  2.  
  3. // 用文件名初始化变量 
  4.  
  5. $file = 'demo.html';  
  6.  
  7. // 仅提取文件名 
  8.  
  9. $x = pathinfo($file, PATHINFO_FILENAME);  
  10. //phpfensi.com 
  11. // 输出 
  12.  
  13. echo $x;  
  14.  
  15. ?> 

输出:

demo

注:如果文件名包含完整路径,也仅返回不带扩展名的文件名。

方法二:使用内置函数basename()

basename()函数返回路径中的文件名部分,即不带扩展名的文件名;该函数用于以string的形式返回path的尾随名称组件。

基本语法:

basename(path,suffix)

参数path:表示要检查的路径。

参数suffix:可省略,表示文件扩展名。如果不省略suffix参数,则输出不带扩展名的文件名。

代码示例:

  1. <?php  
  2.  
  3. $file = 'demo/filename.txt';  
  4.  
  5. $x = basename($file'.txt');  
  6. //phpfensi.com 
  7. echo $x;  
  8.  
  9. ?> 

输出:

filename

方法三:使用使用substr()和strrpos()函数

substr()函数用于返回字符串的一部分,而strrpos()会查找字符串中最后一次出现的子字符串的位置。

代码示例:

  1. <?php  
  2.  
  3. $file = 'PHP.pdf';  
  4.  
  5. $x = substr($file, 0, strrpos($file'.'));  
  6. //phpfensi.com 
  7. echo $x;  
  8.  
  9. ?> 

输出:

PHP

注:如果文件名包含完整路径,则返回不带扩展名的完整路径和文件名。

例:如果$file = 'demo/PHP.pdf', 则返回:

demo/PHP

Tags: PHP扩展名

分享到: