AI编程助手
AI免费问答

如何解决php opendir乱码问题

藏色散人   2022-01-11 09:49   1890浏览 原创
php opendir乱码的解决办法:1、打开相应的PHP代码文件;2、在输出前执行“$value=iconv("UTF-8","gb2312",$value);”语句;3、将所有文件编码都统一为UTF-8或gb2312即可。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

如何解决php opendir乱码问题?

php读取中文目录乱码的解决办法

前不久有个项目涉及到使用 php 读取文件目录,读取文件目录这个本身没什么问题,但读取的时候遇到中文目录竟然发生乱码了,一时不知道怎么办了,很久没有碰到这种问题了,研究了一番,得出几种解决办法,现列举一下(将使用 php 读取文件目录的方法也一并附上):

<?php //要读取的目录
$folder="D:/www";
//打开目录
$fp=opendir($folder);
//阅读目录
while(false!=$file=readdir($fp)){
    //列出所有文件并去掉&#39;.&#39;和&#39;..&#39;
    if($file!=&#39;.&#39; &&$file!=&#39;..&#39;){
    //$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);
?>

(1)在输出前做一个转换,加上如下代码:

$value = iconv("UTF-8","gb2312",$value);  //或者 iconv("gb2312","UTF-8",$value);

(2)所有文件编码都统一为 UTF-8 或者 gb2312

推荐学习:《PHP视频教程

php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。