filemtime() [function.filemtime]:带有变音符号的文件名统计失败
我使用 PHP 函数 filemtime 来获取 PHP 5.3 的最后修改时间。这个函数工作得很好,但是当文件名包含特殊字符(例如变音符号)时,它似乎会出现一些问题。
如果我在带有变音符号的文件名上运行它
$stat = filemtime('C:/pictures/München.JPG');
,那么我会得到输出:
Warning: filemtime() [function.filemtime]: stat failed for C:/pictures/München.JPG
如果我将文件从“München.JPG”重命名为“Muenchen.JPG”并再次执行相同的操作:
$stat = filemtime('C:/pictures/Muenchen.JPG');
一切正常!
我的PHP文件保存为UTF-8无BOM,我也尝试过:
clearstatcache();
$stat = filemtime(utf8_encode('C:/pictures/München.JPG'));
但没有帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过以下代码片段,我发现 Windows 7 上的文件编码是“ISO-8859-1”:
我已阅读 utf8_decode 将 UTF-8 字符串转换为 ISO-8859-1,所以我最终得到了适用于我的项目的小代码:
感谢所有提交的人一条评论。你引导我走向正确的方向。 :-)
With the following code snippet I found out that the file encoding on Windows 7 is "ISO-8859-1":
I've read that utf8_decode converts a UTF-8 string to ISO-8859-1 so I ended up with this small code that works for my project:
Thank you to all who have submitted a comment. You have steered me in the right direction. :-)
试试这个
try this