Php 如何在不知道扩展名的情况下获取文件扩展名

Php 如何在不知道扩展名的情况下获取文件扩展名,php,Php,我一直在尝试使用这段PHP代码来获取文件的扩展名,但实际上我并不知道。但是我得到了这个错误未定义的偏移量:0 我的文件名如下:adImage-9-3-1 当文件名包含一个或多个连字符时,是否仍然可以获取扩展名 这是我的PHP代码: $fileName = "adImage-" . $ImageId . "-" . $adId . "-" . $userId . "*"; //used * to check f

我一直在尝试使用这段PHP代码来获取文件的扩展名,但实际上我并不知道。但是我得到了这个错误未定义的偏移量:0

我的文件名如下:adImage-9-3-1

当文件名包含一个或多个连字符时,是否仍然可以获取扩展名

这是我的PHP代码:

    $fileName = "adImage-" . $ImageId . "-" . $adId . "-" . $userId . "*"; //used * to check for other possible results

    $fileInfo = glob($fileName);

    $fileExt = explode(".", $fileInfo[0]); //throws Undefined Offset:0 error
    $fileActualExt = $fileExt[1];

    print_r($fileActualExt); //empty output
我得到的错误如上所述:

未定义的偏移量:0


您可以在未知文件上使用此选项查看其扩展名:

pathinfo($file, PATHINFO_EXTENSION)
要查看结果,请执行以下操作:

var_dump(pathinfo($file, PATHINFO_EXTENSION));

您可以在未知文件上使用此选项查看其扩展名:

pathinfo($file, PATHINFO_EXTENSION)
要查看结果,请执行以下操作:

var_dump(pathinfo($file, PATHINFO_EXTENSION));

Glob将返回一个包含匹配文件/目录的数组,如果没有匹配的文件,则返回一个空数组,如果出现错误则返回FALSE。是否确认$fileInfo不是空数组?可能您缺少图像的目录路径,除非它们位于文件所在的同一位置?显示$fileInfo。里面有什么数据?你试过调试这个问题吗?如果文件名为
adImage-9-3-1
,应返回哪个“扩展名”?正如我所看到的,文件名为noneGlob将返回一个包含匹配文件/目录的数组,如果没有匹配的文件,则返回一个空数组,如果出错则返回FALSE。是否确认$fileInfo不是空数组?可能您缺少图像的目录路径,除非它们位于文件所在的同一位置?显示$fileInfo。里面有什么数据?你试过调试这个问题吗?如果文件名为
adImage-9-3-1
,应返回哪个“扩展名”?如我所见,该文件名没有扩展名。您所说的
pathinfou扩展名是什么意思?它显示了文件的扩展名。$file变量是您的文件路径。试试看结果。你说的
PATHINFO\u扩展名是什么意思?
?它显示文件的扩展名。$file变量是您的文件路径。试试看结果。