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


Posted in PHP onAugust 06, 2017

函数代码:

<?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变量
Oct 09 PHP
谈谈PHP的输入输出流
Feb 14 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
php中mysql操作buffer用法详解
Mar 19 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 PHP
php mysql数据库操作类(实例讲解)
Aug 06 #PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 #PHP
PHP实现腾讯与百度坐标转换
Aug 05 #PHP
laravel5.4生成验证码的实例讲解
Aug 05 #PHP
CakePHP框架Model函数定义方法示例
Aug 04 #PHP
CakePHP框架Model关联对象用法分析
Aug 04 #PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 #PHP
You might like
实现了一个PHP5的getter/setter基类的代码
2007/02/25 PHP
php 中文处理函数集合
2008/08/27 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
js中的replace方法使用介绍
2013/10/28 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
python学习之编写查询ip程序
2016/02/27 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
ElementUI实现el-form表单重置功能按钮
2021/07/21 Javascript