PHP - 在目录中搜索文件并查找其扩展名

时间:2018-01-26 11:39:05

标签: php directory

我有一个目录 - .../dir - 包含许多文件 - john.txtbob.txtanne.pdftom.txt等...

我获得了一个文件名,需要检索其扩展名。我很有信心,对于每个文件名(即johnbob等),只有一个文件 - 因此,当john.txt和{{{{}}时,不应该存在这种情况。 1}}。但是,如果发生这种情况,只选择第一个文件即可。让我们说PDF,因为它按字母顺序排在早期。

我只找到了scandir(),但它返回整个目录。我可以搜索它后面的阵列,但我希望,也许有更高效的东西?

2 个答案:

答案 0 :(得分:1)

您应该检查pathinfo()功能以获取扩展程序。

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>

至于搜索文件,特别是目录,您可以使用glob()函数

$file = glob("../dir/jon.*");

答案 1 :(得分:1)

您可以尝试这样的事情:

$filename = 'ana';

$files = glob($filename . '.*');
if ($files && ($ext = pathinfo($files[0], PATHINFO_EXTENSION))) {
    echo $ext;
}