gpt4 book ai didi

php - Linux 中的 scandir 重音问题在 OSX 中工作正常

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:07 25 4
gpt4 key购买 nike

嗨,我使用下一个函数在我的网站中创建树目录菜单,目录中包含大量 pdf 和 excel,有时该文件的名称有重音、空格和 ñ,我的应用程序在 OSX (mac) 中完美运行,但很快我上传到我的 godaddy 服务器 (linux) 中,所有带重音的字符都被 ? 字符替换,破坏了所有名称和链接。你知道如何处理这个问题吗?我一直在阅读有关 urlencode、urlrawencode 的内容,我在 php 文档站点中阅读了此评论作为评论:

Scandir does not work properly with non-english caracters (like french accents for example : éàçè...) in the files name. As PHP does not support unicode operations until PHP 6, this is not a bug.

希望有人能帮我解决这个问题。

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>';
}

最佳答案

答案很简单,Linux 不接受重音,所以如果你想要重音,现在不可能在 Linux 服务器中使用 scandir,这就是为什么在 OSX 和 Windows 中都可以工作。我最后更改了脚本。

关于php - Linux 中的 scandir 重音问题在 OSX 中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23601314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com