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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
php创建多级目录代码
Jun 05 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
精美漂亮的php分页类代码
Apr 02 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
PHP设计模式之适配器模式代码实例
May 11 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP simplexml_load_string()函数实例讲解
Feb 03 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
php&amp;mysql 日期操作小记
2012/02/27 PHP
php计算整个目录大小的方法
2015/06/01 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
2010/10/01 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python中的字符串类型基本知识学习教程
2016/02/04 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
python实现比对美团接口返回数据和本地mongo数据是否一致示例
2019/08/09 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
python爬虫添加请求头代码实例
2019/12/28 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
直接有效的自我评价
2014/01/11 职场文书
室内趣味活动方案
2014/08/24 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
免职通知
2015/04/23 职场文书
退休欢送会致辞
2015/07/31 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
Python入门学习之类的相关知识总结
2021/05/25 Python
MySQL RC事务隔离的实现
2022/03/31 MySQL