2010-12-11 23 views
0

我有一個問題的兩個部分存在...檢查,看看文件在多個位置

  1. 對於我的文件檢查我要看看如果文件存在於$filechk$dirchk

  2. 如何在文件檢查時對文件擴展名$filename.*使用通配符? 我使用的是is_file,因爲我讀過它檢查文件是否存在的速度是它的兩倍。

代碼

$filechk1 = "/temp/files/" . $data[0] . ".doc"; 
$filechk2 = "/temp/files/" . $data[1] . ".doc"; 
$dirchk1 = "/temp/files/" . $IDname . $data[0] . ".doc"; 
$dirchk2 = "/temp/files/" . $IDname . $data[1] . ".doc";    
if(is_file($filechk1) && ($filechk2)){ 
    ... 
} 
else { ... } 
+2

對不起,真的:我不瞭解你... – KingCrunch 2010-12-11 13:53:32

回答

1

您應該獲得目錄中所有文件的列表,然後檢查文件擴展名 - is_file僅適用於單個文件。

1

要檢查的文件,只是做一個單獨的is_file()file_exists() - 兩者之間的速度差是沒有什麼關係的,如果你這樣做是在一個或兩個文件。

對於通配符搜索,請執行glob()

$files = glob("/path/to/directory/*.doc"); 
print_r($files); 
+0

我可以將glob()應用於文件擴展名檢查是否正確?如果我喜歡所有的文件名File001。*當做目錄檢查有沒有一種方法尋找目錄忽略大小寫敏感?如果我想要看看/ temp/files/$ UserName/$ filename中是否存在$ filechk1,我可以如何使檢查無視案例,因爲linux可以在大小寫字符中使用相同的文件夾名稱 – acctman 2010-12-11 14:27:32

+0

@acctman不區分大小寫搜索時,您必須對所有文件執行glob操作,將所有結果小寫,然後與小寫搜索詞進行比較。 – 2010-12-11 14:33:34

+0

你有一個如何做到這一點與glob()我不知道從哪裏開始 – acctman 2010-12-11 16:18:36