case insensitive...

R00miss

Guest
case insensitive...

Такая проблема - на сервере лежат куча файлов JPG с именами:
иМЯ.jpg
ИмЯ.jpg
имя.jpg
иМя.jpg

и т.п.

мне нада
if(file_exists($row[image].jpg)) echo "<image src...>"; и т.д.

и в mySQL такая же фигня - иМя, ИМя и т.п.
и есессено иМя != имЯ :(
как сделать чтобы он смотрел если есть файл и чтоб был case insensitive?

P.S. Можете ответить на этот пост плиз: http://phpclub.net/talk/showthread.php?s=&postid=235545#post235545 а то в том форуме никого нет :(
 

nagash

Guest
иМЯ.jpg
ИмЯ.jpg
имя.jpg
иМя.jpg

это разные файлы...
и совершенно неправильно их считать за один...
 

R00miss

Guest
а мне надо чтоб это один был! я поэтому и вопрос задал чтоб мне их одинаковые сделать!
 

[DAN]

Старожил PHPClub
Можно сделать так.
Читаешь имена всех файлов в директории в массив.
Переводишь их либо в upper case либо в lower case.
Имя файла из мускула тоже переводишь в нужный тебе case.
И потом смотришь, есть ли у тебя $row[image] в твоем массиве.
 

R00miss

Guest
ok... сделаю так... просто я знаю что в java есть функция типа ignore_case, думал может и тут будет... :)

если есть еще предложения, то пишите...
 

R00miss

Guest
ok, а как теперь весь список файлов получить? :)
 

[DAN]

Старожил PHPClub
а может тебе скрипт написать еще ?
Иди в мануал и читай про Filesystem functions.

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

R00miss

Guest
так читаю... :)
надо же знать что читать...
 

R00miss

Guest
не погодь...
допустим у меня 2000 картинок... заношу я их все в array... открываю базу где 3000 записей и в while ставлю for($i=0; $i<count(array с картинками)) ??? 3000*2000 = :confused:
 

Ваня

Guest
и какая проблема?
отработает за секунду
кстати, можно и без второго цикла.

когда считываешь файлы из каталога, делаешь их не элементами, а ключами массива -
$files[strlolower($name)]=1;

тогда при выборке из базы просто проверяешь
if (isset($files[strlolower($row['picture'])])) ...

во загнул-то...
но должно, вроде, работать...
 
Сверху