Привет, я использую следующую функцию для создания меню древовидной директории на своем веб-сайте, каталоги включают в себя большое количество 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>'; }