2014-01-22 143 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 />'; 
    } 

} 
相關問題