php批量转换文件夹下所有文件编码的函数类

yipeiwu_com6年前PHP代码库

函数代码:

<?php
/**
 * 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码
 * @param string $filename
 */
function iconv_file($filename,$input_encoding='gbk',$output_encoding='utf-8')
{
  if(file_exists($filename))
  {
    if(is_dir($filename))
    {
      foreach (glob("$filename/*") as $key=>$value)
      {
        iconv_file($value);
      }
    }
    else
    {
      $contents_before = file_get_contents($filename);
      /*$encoding = mb_detect_encoding($contents_before,array('CP936','ASCII','GBK','GB2312','UTF-8'));
      echo $encoding;
      if($encoding=='UTF-8') mb_detect_encoding函数不工作
      {
        return;
      }*/
      $contents_after = iconv($input_encoding,$output_encoding,$contents_before);
      file_put_contents($filename, $contents_after);
    }
  }
  else
  {
    echo '参数错误';
    return false;
  }
}
iconv_file('./test');
?>

注意:把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码

相关文章

php排序算法实例分析

php排序算法实例分析

本文实例分析了php排序算法。分享给大家供大家参考,具体如下: 用PHP写排序,虽然PHP自动了很多排序方式,SQL语句也可以很快速的从数据库里有序的读出数据。但是不同的需求还有灵活 运...

php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法

没有找到 PHP 扩展 mbstring,而您现在好像在使用多字节字符集。没有 mbstring 扩展的 phpMyAdmin 不能正确分割字符串,可能产生意想不到的结果。 无法加载mc...

PHP查询快递信息的方法

本文实例讲述了PHP查询快递信息的方法。分享给大家供大家参考。具体如下: 这里使用快递100物流查询 官方文档中只能返回html的接口 也可以返回json php代码如下: 复制代码 代...

PHP实现无限级分类(不使用递归)

PHP实现无限级分类(不使用递归)

无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的...

JS+PHP实现用户输入数字后显示最大的值及所在位置

JS+PHP实现用户输入数字后显示最大的值及所在位置

本文主要给大家介绍的是关于JS+PHP实现用户输入数字后显示最大的值及所在位置的相关内容,目的:分清JS PHP的区别,拓宽思维,下面来一起看看详细的介绍: 分析   ...