PHP opendir乱码的解决办法:1、打开相应的PHP代码文件;2、在输出前执行“$value=iconv(UTF-8,gb2312,$value);”语句;3、将所有文件编码都统一为UTF-8或gb2312即可。
本文操作环境:windows7系统、PHP7.1版、DELL G3电脑
前不久有个项目涉及到使用 PHP 读取文件目录,读取文件目录这个本身没什么问题,但读取的时候遇到中文目录竟然发生乱码了,一时不知道怎么办了,很久没有碰到这种问题了,研究了一番,得出几种解决办法,现列举一下(将使用 PHP 读取文件目录的方法也一并附上):
<?PHP //要读取的目录 $folder=D:/www; //打开目录 $fp=opendir($folder); //阅读目录 while(false!=$file=readdir($fp)){ //列出所有文件并去掉'.'和'..' if($file!='.' &&$file!='..'){ //$file=$folder/$file; $file=$file; //赋值给数组 $arr_file[]=$file; } } //输出结果 if(is_array($arr_file)){ while(list($key,$value)=each($arr_file)){ echo $key=>$value<br>; } } //关闭目录 closedir($fp); ?>
$value = iconv(UTF-8,gb2312,$value); //或者 iconv(gb2312,UTF-8,$value);
(2)所有文件编码都统一为 UTF-8 或者 gb2312
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。