我使用PHP函数filemtime来获取PHP 5.3中的最后修改时间。这个函数非常好用,但是当文件名包含特殊字符(例如umlauts)时会出现一些问题。
如果我在一个包含umlauts的文件名上运行它
$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'));
但是它并没有起到帮助的作用。
scandir()
函数并报告图片的原始(bin2hex
)字符字符串。不过可能你运气不好。https://dev59.com/20bRa4cB1Zd3GeqPzloH - mariourldecode()
能让您轻松地获得完整的字符串。 - Pekka