2010-09-08 4 views
0

Я хочу знать, как проверить имя файла в папке с некоторым условием.файл проверки существует или нет в папке php

например: имя папки «output» Эта папка содержит следующие изображения. 2323a.Png 5235v.Jpeg 2323s.jpg 23523s.JPEG и т.д ..,

если я проверить имя файла "2323a.png", но есть имя файла 2323a.Png.

Как проверить имя файла является нечувствительным.

заранее спасибо

+0

И какую систему вы используете скрипт на? В windows 'file_exists' не учитывается регистр, поэтому этого будет достаточно. В файлах Linux имена файлов чувствительны к регистру, поэтому 2323a.png и 2323a.Png представляют собой два отдельных файла. Если вы запускаете свой скрипт на сервере linux и хотите использовать имена файлов только в нижнем регистре, вы должны сначала переименовать эти файлы. –

ответ

0

Используйте strtolower на ваших имен файлов, чтобы проверить, если они существуют.

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

если я проверю имя файла 2323a.pNg, то что я буду делать? – hussain

+0

Добавьте str_replace вокруг функции strtolower(), str_replace ('.png', '.pNg', strtolower ($ filename)). Но если вы вводите имена файлов в нижнем регистре, это не обязательно, потому что все будет строчным. – Leon

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; 
} 
Смежные вопросы