2016-01-25 46 views
-1

任何想法如何僅使用文件擴展名來獲取我的文件?例如。 (.cfg)僅使用文件擴展名獲取文件

我試過foreach (glob("*.cfg") as $filename)但我需要知道路徑才能使用glob方法。

+3

嘗試[RecursiveDirectoryIterator](http://php.net/manual/en/class.recursivedirectoryiterator.php) – bansi

+0

如果您的文件位於同一文件夾,則可以使用'scandir'。 –

+0

@EkoJunaidiSalam不同的文件夾 –

回答

0

正如@bansi提到的,​​你應該

嘗試RecursiveDirectoryIterator

給出應該爲你工作的例子:

$basepath  = "root/directory/for/search"; 
$start_directory = new RecursiveDirectoryIterator($basepath); 
$iterator  = new RecursiveIteratorIterator($iterator); 
$result   = new RegexIterator($iterator, '/^.+\.cfg$/i', RecursiveRegexIterator::GET_MATCH); 

後你有你的結果,你可以正如您通過$basepath輸入列表一樣訪問列表中的文件路徑:

foreach(iterator_to_array($result) as $file) 
{ 
    echo "config found at: $file[0]"; 
} 

您可能也會發現這個post也很有用。

更多的背景信息請參見this article