PHP递归读取中文文件夹里的中文文件

本文介绍在Windows服务器环境下,如何使用PHP处理并读取包含中文名称的文件夹及文件,通过适当的编码转换实现正常读取。

标题有点拗口,总之就是我读取的这一系列文件夹即文件都是中文名称的,估计很多人都遇到过。这里就不讨论用中文是不是合理了,之里只说把它读出来

其实很简单,只要注意适当的时候转换编码就行了。今天是在win服务器下做的这个事情,所以在linux下可能不适用,代码如下:

public function loadfilename($dir){
    if($handle=openDir($dir)){
        while(false!==($files=readDir($handle))){
            $files=iconv('gb2312','utf-8',$files);
            if($files!="."&&$files!=".."){
                $files=iconv('utf-8','gb2312',$files);
                if(is_dir($dir."/".$files)){
                    $new_dir=$dir."/".$files;
                    $this->loadfilename($new_dir);
                }else{
                    $str=$dir."/".$files;
                    $str=iconv('gb2312','utf-8',$str);  

                    echo $str."<br/>";
                }
            }
        }
    }
    closeDir($handle);
}


php实现文件共享(其于windows网上邻居原理)   通过本php文件,在进行相关设置后,您可以方便的看到共享目录中的文件,以及相应的说明,便于能够迅速找到自己想要的文件。   找到想要的东西后,直接点击文件夹名打开共享文件夹。 使用方法: 1: 将index.php放在网站根目录。 2: 本脚本支持从根目录向下两级目录显示,目录名可为中文英不限,但是建议使用英文。 3: 请在根目录下建好各种分类文件夹,不要在根目录下直接放普通文件。 4: 要添加新的脚本时,请在所属分类目录中再建一个目录,文件名可为中英文,取名最好简捷明了能直接说明用途。在这个文件夹内放入要用的脚本,并且建一个readme.txt文件,在此txt文件中说明脚本的具体功能和用法。    当用访问的时候,脚本将直接显示在网页列表中,并且在下面显示readme.txt文件中的内容。 5: 直接点击文件夹时,将自动用网上邻居打开此文件所在目录。    这个路径需要一个默认值,建议将网站的根目录直接从服务器上面共享,并将此共享目录的网上邻居目录填到index.php的$netdir变量的''之间。 再次重申: 1: 本脚本只支持网站根目录向下的两级文件夹,再有深层目录将不予判断。   2: 此脚本只支持ie内核的浏览器,非IE内核浏览器不支持file://abc.abc.com这样的链接,所以点了链接也打不开。 另: 只为功能所以美工基本没有,眼睛吃点苦了。        顺便宣传一下我的PHP LAMP群:34513293  WEB前端群:73269871 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值