Мне нужно работать с файлами, в имени которых есть символы с диакритическими знаками. К сожалению, похоже, что GLOB игнорирует эти файлы. Я создал этот короткий код для демонстрации:
$files = glob(dirname(__FILE__) . "/data/tracks/167/*.*");
foreach($files as $file) {
var_dump($file);
var_dump(file_exists($file));
}
Выход:
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:13:string 'D:\data\zdroje\Kombinovane\MotoQuest\Web\admin/data/tracks/167/162_P1030721 (kopie).jpg' (length=87)
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:14:boolean true
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:13:string 'D:\data\zdroje\Kombinovane\MotoQuest\Web\admin/data/tracks/167/162_tn_P1030721 (kopie).jpg' (length=90)
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:14:boolean true
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:13:string 'D:\data\zdroje\Kombinovane\MotoQuest\Web\admin/data/tracks/167/1_1493222210_P1030721.jpg' (length=88)
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:14:boolean true
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:13:string 'D:\data\zdroje\Kombinovane\MotoQuest\Web\admin/data/tracks/167/1_1493222210_tn_P1030721.jpg' (length=91)
D:\data\zdroje\Kombinovane\MotoQuest\Web\admin\pokus.php:14:boolean true
Мой каталог содержит 6 файлов - 2 с диакритическими знаками игнорируются.:
То же самое и с file_exists, даже когда я использую перечисленные здесь подсказки - PHP file_exists с акцент возвращает false.
Одно из имен файлов:
1_1493385948_tn_22-Ještěd21.jpeg
Есть идеи, что не так?