Функция in_array
работает, несмотря на строковый алфавит.У меня проблема возникает из-за того, что ваш PHP-файл и файловая система используют разные кодировки, поэтому значение, считываемое scandir
, имеет другую кодировку, поэтому оно отличается от значения $img
, записанного в коде.
Попробуйте преобразовать кодировкурезультата scandir
, чтобы он соответствовал кодировке файла PHP.Например:
// ...
$image_files = scandir($dir);
foreach ($image_files as &$file) {
$file = mb_convert_encoding($file, 'UTF-8', 'Windows-1251');
}
// ...
var_dump(in_array($find, $image_files));
Замените UTF-8
кодировкой PHP-файла и Windows-1251
кодировкой файловой системы.