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

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

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

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