如果文件名是UTF-8,则使PHP pathinfo()返回正确的文件名

Make PHP pathinfo() return the correct filename if the filename is UTF-8

除Latin-1外,大多数核心PHP函数均不处理字符集。 但是在'pathinfo'之前,放置'setlocale'可以用来返回正确的文件名,即使它是UTF-8编码的。

默认情况下,它以'C'语言环境运行,而CLI脚本以默认utf-8语言环境运行。 在调用其他函数之前,应将服务器上的语言环境从" C"更改为" C.UTF-8"或" en_US.UTF-8"。

1
2
3
setlocale(LC_ALL,'en_US.UTF-8');
pathinfo($OriginalName, PATHINFO_FILENAME);
pathinfo($OriginalName, PATHINFO_BASENAME);