1、重命名某个目录中的文件名,其代码,如图1
图1
2、报错:rename(E:/wwwroot/avatar/BEIJI/侯森.jpg,E:/wwwroot/avatar/BEIJI/378477.jpg): ϵͳ�Ҳ���ָ�����ļ��� (code: 2),如图2
图2
3、使用 file_exists 函数,检查文件是否存在,如果存在,打印1,如果不存在,打印0,如图3
图3
4、打印结果为0,表示检查文件的结果为不存在,如图4
图4
5、打开网址:http://php.net/manual/zh/function.rename.php ,发现一段提示:,用以解决此类问题,如图5
翻译:在windows(XP,vista,7 …)http://fr.wikipedia.org/wiki/Windows-1252“,如果你的文件名包含口音,它基本上不起作用,所以使用iconv函数从 utf-8到cp1252如下:
图5
6、iconv — 字符串按要求的字符编码来转换,将字符串 E:/wwwroot/avatar/BEIJI/侯森.jpg 从 UTF-8 转换编码到 GB2312,代码,如图6
图6
7、打印结果为1,表示检查文件的结果为存在,如图7
图7
8、最终实现代码,如图8
图8
9、目录 E:/wwwroot/avatar/BEIJI 中的文件,如图9
图9
10、运行脚本,目录 E:/wwwroot/avatar/BEIJI 中的文件,已经重命名成功,如图10
图10
11、运行脚本,报错:iconv(): Detected an illegal character in input string,如图11
翻译:iconv():检测到输入字符串中存在非法字符
图11
12、打印文件名,发现非法字符应该为 吴䶮,如图12
图12
13、将 GB2312 修改为 GB18030(如果修改为GBK的话,仍然报错,GB18030字符集包含GBK字符集和中日韩(CJK) Ext-A ),如图13
图13