Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-在目录中搜索文件并查找其扩展名_Php_Directory - Fatal编程技术网

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

PHP-在目录中搜索文件并查找其扩展名,php,directory,Php,Directory,我有一个目录-../dir,其中包含许多文件-john.txt,bob.txt,anne.pdf,tom.txt,等等 我得到了一个文件名,需要检索其扩展名。我对每个文件名(即john、bob等)都只有一个文件有很高的信心,因此不应该同时有john.txt和john.pdf。但假设发生这种情况,只拾取第一个文件是可以的。让我们说PDF,因为它是按字母顺序排列的 我只找到了scandir(),但它返回整个目录。我可以搜索它重新生成的数组,但我希望,也许有更有效的方法?您应该检查函数以获得扩展 &l

我有一个目录-
../dir
,其中包含许多文件-
john.txt
bob.txt
anne.pdf
tom.txt
,等等

我得到了一个文件名,需要检索其扩展名。我对每个文件名(即
john
bob
等)都只有一个文件有很高的信心,因此不应该同时有
john.txt
john.pdf
。但假设发生这种情况,只拾取第一个文件是可以的。让我们说PDF,因为它是按字母顺序排列的

我只找到了scandir(),但它返回整个目录。我可以搜索它重新生成的数组,但我希望,也许有更有效的方法?

您应该检查函数以获得扩展

<?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
?>
您应该检查函数以获得扩展

<?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
?>

您可以尝试以下方法:

$filename = 'ana';

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

您可以尝试以下方法:

$filename = 'ana';

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

你的意思是
../dir
还是
../dir
?你的意思是
../dir
还是
../dir
?啊,我的意思是[…通向dir的某条路径…]/dir。你是说
../dir
还是
../dir
?你是说
../dir
还是
../dir
?啊,我只是指[…通向dir的某条路径…]/dir。没有什么特别的意思。