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获取微信openid方法总结

使用微信接口,无论是自动登录还是微信支付我们首先需要获取的就是openid,获取openid的方式有两种,一种是在关注的时候进行获取,这种订阅号就可以获取的到,第二种是通过网页授权获取,...

PHP中常用的输出函数总结

echo();  "输出内容"; 可以同时输出多个字符串,可以多个参数,并不需要圆括号 ,无返回值。 print();   有返回值1,0切只能包含一个参数...

PHP中=赋值操作符对不同数据类型的不同行为

首先解释赋值操作符=的行为,看下面的例子: 复制代码 代码如下: $i = 0; $j = $i; $j = 0; echo $j; // 打印输出0 $arr = array(0);...

实现PHP多线程异步请求的3种方法

在网上看过很多版本的PHP异步请求方法,这里简单总结几个常用方法分享给大家 1、用CURL实现一步请求 CURL扩展是我们在开发过程中最常用的一种方法,他是一个强大的HTTP命令行工具,...

PHP查找与搜索数组元素方法总结

本文实例讲述了PHP查找与搜索数组元素方法。分享给大家供大家参考。具体分析如下: 查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。 in_array()函...