2010-09-08 119 views
0

我想知道如何檢查具有某些條件的文件夾中的文件名。檢查文件存在或不在php中的文件夾

例如: 文件夾名稱爲「輸出」 含有下列圖像此文件夾。 2323a.Png 5235v.Jpeg 2323s.jpg 23523s.JPEG 等,

如果我檢查文件名是 「2323a.png」 但文件名2323a.Png。

如何檢查文件名是incasesensitive。

感謝您事先名

+0

,並且你在運行的系統中的腳本?在windows'file_exists'不區分大小寫,所以這就足夠了。在linux上,文件名區分大小寫,因此2323a.png和2323a.Png是兩個單獨的文件。如果您在Linux服務器上運行腳本,並且只想使用小寫字母文件名,則應首先重命名這些文件。 – 2010-09-08 10:03:56

回答

0

使用strtolower來檢查,如果它們存在。

if(strtolower($filename) === '2323a.png') 
+0

如果我檢查文件名是2323a.pNg,那麼我該怎麼辦? – hussain 2010-09-08 09:52:27

+0

在strtolower()函數str_replace('。png','.pNg',strtolower($ filename))周圍添加一個str_replace。但是,如果您將文件名小寫,則不需要這樣,因爲所有內容都是小寫字母。 – Leon 2010-09-08 18:54:56

1

恕我直言,你必須讀取目錄內容

function file_exists_ignore_case($path) { 
    $dirname = dirname($path); 
    $filename = basename($path); 
    $dir = dir($dirname); 
    while (($file = $dir->read()) !== false) { 
     if (strtolower($file) == strtolower($filename)) { 
      $dir->close(); 
      return true; 
     } 
    } 
    $dir->close(); 
    return false; 
} 
相關問題