Intereting Posts
Значения мусора, возникающие при извлечении данных из wordpress Алгоритмы для сходства строк (лучше, чем у Левенштейна и аналогичного текста)? Php, Js Как отправить почту с помощью функции mail () PHP и MAMP Pro? Получить все переменные, используемые в файле шаблона twig Как заменить / избежать U + 2028 или U + 2029 символов в PHP, чтобы остановить мой JSONP API Шаблоны для многопроцессорных процессов PHP? Создание динамических подкаталогов с использованием htaccess и php Лучший подход к декодированию сигнатуры шифрования Youtube с использованием PHP или JS Проверка, есть ли високосный день в таймере как я могу исправить продолжительность времени, чтобы заполнить форму Laravel 4.2: включить PHP-файл (библиотеку) в контроллер PHP – Неустранимая ошибка: вызов функции-члена bind_param () Является ли PHP потокобезопасным? PHP не может инициализировать модуль zorba_api PHP Забыли пароль

Проблема scandir с акцентами в Linux отлично работает в OSX

Привет, я использую следующую функцию для создания меню древовидной директории на своем веб-сайте, каталоги включают в себя большое количество PDF-файлов и excel, иногда у названий этих файлов есть акценты, пробелы и … Мои приложения отлично работают в OSX (mac), но скоро я загрузил на свой сервер godaddy (linux), все символы с акцентом были заменены на ? символ, разбивающий все имена и ссылку. Вы знаете, как справиться с этой проблемой? Я читал о urlencode, urlrawencode, включительно. Я читал этот комментарий на сайте документации php как комментарий:

Scandir не работает должным образом с неэнгвинскими персонажами (например, французскими акцентами, например: éàçè …) в имени файлов. Поскольку PHP не поддерживает операции unicode до PHP 6, это не ошибка.

Надеюсь, кто-то поможет мне в этом.

 function listFolderFiles($dir){ $ffs = scandir($dir); echo '<ul class="transparencia">'; foreach($ffs as $ff){ if($ff != '.' && $ff != '..' && $ff != '.DS_Store'){ $stringFileDir = $dir.'/'.$ff; echo '<li>'; if(is_file($stringFileDir)){ echo "<a href='transparencia/".$dir.'/'.$ff."' data-type='".pathinfo($stringFileDir)['extension']."' target='_blank'>".$ff."</a>"; }else{ echo "<span class='more'>+</span>".urldecode($ff); } if(is_dir($dir.'/'.$ff)){ listFolderFiles($dir.'/'.$ff); } echo '</li>'; } } echo '</ul>'; } и function listFolderFiles($dir){ $ffs = scandir($dir); echo '<ul class="transparencia">'; foreach($ffs as $ff){ if($ff != '.' && $ff != '..' && $ff != '.DS_Store'){ $stringFileDir = $dir.'/'.$ff; echo '<li>'; if(is_file($stringFileDir)){ echo "<a href='transparencia/".$dir.'/'.$ff."' data-type='".pathinfo($stringFileDir)['extension']."' target='_blank'>".$ff."</a>"; }else{ echo "<span class='more'>+</span>".urldecode($ff); } if(is_dir($dir.'/'.$ff)){ listFolderFiles($dir.'/'.$ff); } echo '</li>'; } } echo '</ul>'; } и function listFolderFiles($dir){ $ffs = scandir($dir); echo '<ul class="transparencia">'; foreach($ffs as $ff){ if($ff != '.' && $ff != '..' && $ff != '.DS_Store'){ $stringFileDir = $dir.'/'.$ff; echo '<li>'; if(is_file($stringFileDir)){ echo "<a href='transparencia/".$dir.'/'.$ff."' data-type='".pathinfo($stringFileDir)['extension']."' target='_blank'>".$ff."</a>"; }else{ echo "<span class='more'>+</span>".urldecode($ff); } if(is_dir($dir.'/'.$ff)){ listFolderFiles($dir.'/'.$ff); } echo '</li>'; } } echo '</ul>'; } и function listFolderFiles($dir){ $ffs = scandir($dir); echo '<ul class="transparencia">'; foreach($ffs as $ff){ if($ff != '.' && $ff != '..' && $ff != '.DS_Store'){ $stringFileDir = $dir.'/'.$ff; echo '<li>'; if(is_file($stringFileDir)){ echo "<a href='transparencia/".$dir.'/'.$ff."' data-type='".pathinfo($stringFileDir)['extension']."' target='_blank'>".$ff."</a>"; }else{ echo "<span class='more'>+</span>".urldecode($ff); } if(is_dir($dir.'/'.$ff)){ listFolderFiles($dir.'/'.$ff); } echo '</li>'; } } echo '</ul>'; }