这让我发疯了。我已经阅读了几十篇关于这个问题的帖子(在SO和其他地方),但它们似乎都没有帮助我。
我有一个文件目录:
file.pdf
another file.pdf
one-more-file.pdf
Корпусные воздухонагреватели.pdf
我想循环浏览文件并获取最后修改日期。我可以使用opendir或scandir成功遍历文件。但是当你使用俄语/ Cryillic字符到达文件时...... PHP不会获得最后修改时间。相反,它会抛出错误消息:
Warning: filemtime() [function.filemtime]: stat failed for ????????? ??????????????????.pdf in test.php on line 27
这是传递不存在的文件名时得到的错误。
我认为我需要将字符串从某些编码转换为另一种编码...但我尝试使用iconv的所有内容都会导致相同的错误。
PHP 5.3在Windows 7计算机上运行(在Softaculous AMPPS下)。我可以在同一台机器上通过Windows资源管理器正确查看文件名。
更新
一时兴起,我将我的脚本和一些文件传输到我的RedHat Linux服务器,它在那里工作正常。因此,我猜测这必须是导致问题的PHP,Apache或Windows设置。