php 遍历目录文件编码转换

遍历当前目录及子目录。把所有的文件转换编码到UTF-8

 代码如下 复制代码

< ?php
//php iconv.php
//exec it on root dir
$path = dirname(__FILE__);
tree($path);
 
function encodeFiles($fileName)
{
//    echo $fileName;
    if (file_exists($fileName)) {
        // Read in the contents
        $res = file_get_contents($fileName);
        $i = pathinfo($fileName);
        if(!in_array($i['extension'],array('js','css','php','html','htm'))){
            return ;
        }
        // Just display on the screen the file being modified
        echo  $fileName . "---form---";
        // Convert the contents
        echo  $encode = mb_detect_encoding()($res, array("ASCII", "UTF-8", "GB2312", "GBK"));
        echo "---to---UTF-8!\n";
        $res = iconv($encode, "UTF-8", $res);
        // Write back out to the same file
        file_put_contents($fileName, $res);
    } //
}
 
function tree($directory)
{
    $mydir = dir($directory);
    while ($file = $mydir->read()) {
        if ((is_dir("$directory/$file")) AND ($file != ".") AND ($file != "..")) {
            tree("$directory/$file");
        } else {
            $file ="$directory/$file";
 
//            echo "<li>$file</li>\n";
            if(is_file($file)){
                encodeFiles($file);
            }
        }
    }
}

时间: 2024-09-20 20:21:31

php 遍历目录文件编码转换的相关文章

PHP glob函数遍历目录/文件夹方法介绍

PHP glob函数的使用:glob - 寻找与模式匹配的文件路径 例子  代码如下 复制代码 <?php $fileList=glob('*.*'); for ($i=0; $i<count($fileList); $i++) { echo $fileList[$i].'<br />'; } $fileList2=glob('images/*'); for ($i=0; $i<count($fileList2); $i++) { echo $fileList2[$i].'&

python遍历目录文件脚本的示例

例子 自己写的一个Python遍历文件脚本,对查到的文件进行特定的处理.没啥技术含量,但是也记录一下吧.  代码如下 复制代码 #!/usr/bin/python # -*- coding: utf-8 -*- import sys import os import shutil dir = "/mnt/Packages" class Packages:     def __init__(self,srcdir,desdir):         self.sdir=srcdir    

Java IO文件编码转换实现代码_java

对IO操作真心不是很懂...对编码.乱码也是一知半解...今天遇到了一个需求,要求将一个文件进行编码转换,并且返回编码后的字符串,如原本的GBK编码,转换为UTF-8 其中这个BytesEncodingDetect 类就不贴了.主要用了里面的获取文件编码格式. 刚开始试了直接在源文件修改编码方式,采用URLEncoder和URLDecoder进行转换,却迟迟不行.出现了中文奇数最后一个字乱码 百度找了解决方法,都未果,只好采用我的思路是:先读取源文件的内容,存放到StringBuffer里面,然

php递归遍历目录文件与文件夹

他们利用了递归的方法来实例目录遍历,可以查找出无限级目录的文件与文件夹中的文件并显示,下面是实例代码 <?php教程 $dir = 'f:game'; function read_dir_all($dir) { $ret = array('dirs'=>array(), 'files'=>array()); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if($file != '

php 中require和include引用url和 php的文件编码转换函数问题

PHP配置中"allow_url_fopen"这个选项是打开了的话,可以使用url作为include或者require的参数. 以及 allow_url 相关的参数,具体可以参考php.ini中说明 对整个页面进行转换 该方法适用所有编码环境.这样把前128个字符以外(显示字符)的字符集都用   NCR(Numeric character reference,如"汉字"将转换成"汉字"这种形式)来表示,这样的编码在任意编码环境下页面都能正常显示.

asp.net遍历目录文件夹和子目录所有文件_实用技巧

复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Threading; namespace copefile {     class Program     {         static void Main(string[] args)         {             string testDir = "e:/xun

Python遍历目录中的所有文件的方法_python

os.walk生成器os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素代表了一个文件夹下的内容.第一个就是当前文件夹下内容. 返回的三元元组代表(该工作文件夹, 该文件夹下的文件夹的列表, 该文件夹下文件的列表). 所以, 获得所有子文件夹, 就是(d代表这三元元组): os.path.join(d[0],d[1]); 获得所有子文件, 就是: os.path.join(d[0],d[2]); 以下例子使用了两套循环,

用shell批量编码转换

-------------------------------------文件内容转换:iconv-------------------------------------- 通常,从其他平台拷贝过来(Linux)的文件,比如mac或win,打开后都是有编码错误的,尤其是中文编码. 这里主要是纯文本文件,pdf或者office文件不谈,他们只存在文件名的乱码,不存在文件内容的乱码(因为他门本来就没有编码).  造成的原因很简单,因为前两个系统上的文本文件都是默认gbk编码格式的,gbk是个主要为

一个批量编码转换及ASP/JS加解密/简繁转换的工具_相关技巧

详情看这里  http://hi.baidu.com/lael80/blog/item/6633d7fc89f9f282b801a061.html  http://www.gzyd.net/lael/coding.rar  文件编码转换/Screnc加解密/简繁转换 1.0  使用注意:  1.使用前请备份,使用本软件造成的损失自负:  2.进行编码转换前请确认所有文件的源编码一致并选择正确,否则可能出现错误.  3.对ASP代码进行加密或解密或简繁转换前须确认文件的编码为ANSI,否则可能出现