我使用PHP函數filemtime得到最後修改時間與PHP 5.3。這個函數工作得很好,但是當文件名有特殊字符(例如變音符號)時,它似乎有一些問題。filemtime()[function.filemtime]:stat帶有元音變音的文件名失敗
如果我與變音符號的文件名運行它
$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'));
,但它並沒有幫助。
你有文件相同的字符集爲你的操作系統? –
鑑於它是一個Windows系統,它幾乎可以肯定是NTFS,它是utf-16。 –
目前我在Windows 7機器上(使用NTFS格式的硬盤)使用此腳本,但後來我想在Ubuntu服務器上使用它。 –