2010-09-08 89 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; 
} 
相关问题