2014-01-22 106 views
1

如何在文件夹上搜索是否知道文件的扩展名,但不知道文件名。在文件夹中搜索具有已知扩展名的未知文件名

假设我有一个这样的文件的文件夹。

folder/1.txt 
folder/2.txt 
folder/3.txt 

使用这个简单的方法我回声所有的文件至极文件名只包含数字。

for ($i=0; $i<=3; $i++) { 
    $files = 'folder/'. $i .'.txt'; 

    echo "$i.txt <br />";;  

和上面的代码回声像这样

1.txt 
2.txt 
3.txt 

可能实现,如果文件名中包含的信吗?或者甚至更好的字母和数字。

aaa.txt 
asdwe.txt 
1asw2.txt 

这是可能的吗?

+0

1.循环遍历目录中的文件。 2.使用'substr'或类似的函数来获取文件名的最后4个字符。 3.检查最后的字符是否与您的文件扩展名匹配。如果你在Google上搜索问题标题,有很多很好的信息... – Jasper

+1

或者只是使用'$ files = glob('* .txt')':http://php.net/glob –

+0

@ SergiuParaschiv在哪里添加文件夹名称在这里'$ files = glob('* .txt')'这在哪里执行搜索文件夹?我想在名称为“folder”的文件夹中搜索。谢谢 – mwweb

回答

0

做到这一点与DirectoryIterator

<?php 

const DS = DIRECTORY_SEPARATOR; 

$dir = new DirectoryIterator('your' . DS . 'direcory' . DS); 

foreach ($dir as $fileinfo) { 

    if (!$fileinfo->isDot()) { 
    // relative url of file = $fileinfo->getPathname(); 
    // file name = $fileinfo->getFilename(); 
    echo $fileinfo->getFilename() . '<br />'; 
    } 

} 
相关问题