2012-08-08 34 views
0

我想找到的所有特定文件夾中匹配2個不同的文件擴展名。廣州和.bin文件文件夾中找到多種文件類型 - CakePHP的

我使用的文件夾中的文件::查找功能是這樣的:

$dir = new Folder('/home/'); 
$files = $dir->find('.*\.gz'); 
if($files == null || empty($files)) 
{ 
    $this->set('files', "No Files Found"); 
    echo "empty"; 
} 
else 
{ 
    $this->set('files', $files); 
} 

如何調整find函數的正則表達式來查找兩者?

此外,我在if語句中設置的視圖變量$文件不起作用,如果沒有發現。它適用於目錄中有文件的情況,但如果沒有任何內容,則不會顯示「找不到文件」。 它迴應文字「空」,但不設置變量。

謝謝

+1

大概''。* \。gz |。* \。bin''但我對CakePHP不熟悉。 – flec 2012-08-08 12:53:41

+0

@flec - 工作!謝謝 – RXC 2012-08-08 13:12:11

回答

0

我發現要查找多個文件類型,請使用|運算符在正則表達式中。 '。 .gz |。 .bin' - >感謝flec爲此。

我在視圖中使用$ files變量時遇到的問題是我使用它作爲選擇輸入的選項。

不是直接將它設置爲一個字符串,如果它是空的,我只是在數組中創建一個具有文本值的元素。

if($files == null || empty($files)) 
    { 
     $files[0] = "No Files Found"; 
     $this->set('files', $files); 
    } 
    else 
    { 
     $this->set('files', $files); 
    }