赞赏作者
扫一扫支付
韶华小苑 |

时光不负终不老

您现在的位置是: 首页 >

php 使用pathinfo()获取文件后缀名

php 使用pathinfo()获取文件后缀名

作者:大帅哥 日期:2020-08-01 点击:2

参考链接https://www.cnblogs.com/sgm4231/p/9732980.html

使用pathinfo()函数获取。

方法一:数组获取

$path = /data/temp/zhansg.html.txt.var.bat;
// 后缀名在数组的 extension 里
$fileSuffix = pathinfo($path)[extension];

方法二:直接常量获取

$path = /data/temp/zhansg.html.txt.var.bat;
// 使用常量获取
$fileSuffix = pathinfo($path,PATHINFO_EXTENSION);

使用范例

比如我有这么一个文件,/data/temp/zhansg.html.txt.var.bat

我需要获取文件后缀,可执行文件,比如.exe或者.bat这类的文件不允许上传,代码如下:

$path = /data/temp/zhansg.html.txt.var.bat;

// 使用pathinfo()函数
$pathinfo = pathinfo($path);

// 输出返回值
echo <pre>;
var_dump($pathinfo);
echo </pre>;exit;

打印的内容如下:

array(4) {
  [dirname]=>
  string(10) /data/temp
  [basename]=>
  string(23) zhansg.html.txt.var.bat
  [extension]=>
  string(3) bat
  [filename]=>
  string(19) zhansg.html.txt.var
}

可见,我们要的后缀名在数组的 extension 这个键对应的值那里。

也就是说,获取文件后缀的方法是:

$fileSuffix = pathinfo($path)[extension];

另一种方法,代码如下,就是直接通过 常量获取。

$path = /data/temp/zhansg.html.txt.var.bat;
$fileSuffix = pathinfo($path,PATHINFO_EXTENSION);

// 输出返回值
echo <pre>;
var_dump($fileSuffix);
echo </pre>;
exit;

打印的内容如下:

// 仅输出文件后缀,不带 .
string(3) bat

常量一览

常量名 对应的意义
PATHINFO_DIRNAME 文件所在的目录地址
PATHINFO_BASENAME 完整文件名(包含文件后缀)
PATHINFO_EXTENSION 文件后缀(不包含“.”)
PATHINFO_FILENAME 文件名(不包含“.”和文件后缀)

最后修改时间:2020-08-01 19:53:03

瞅我来气不?用红包砸死我吧