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读取30天之内的根据算法排序的代码
Apr 06 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
php中3种方法删除字符串中间的空格
Mar 10 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
CI框架常用方法小结
May 17 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
Laravel框架控制器的middleware中间件用法分析
Sep 30 PHP
浅谈laravel框架sql中groupBy之后排序的问题
Oct 17 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
php安装php_rar扩展实现rar文件读取和解压的方法
2016/11/17 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
Javascript 学习笔记 错误处理
2009/07/30 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
jQuery表单验证功能实例
2015/08/28 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
原生JS版和jquery版实现checkbox的全选/全不选/点选/行内点选(Mr.Think)
2016/10/29 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
便利店投资的创业计划书
2014/01/12 职场文书
庆七一活动方案
2014/01/25 职场文书
中学教师请假制度
2014/02/03 职场文书
生产部岗位职责范文
2014/02/07 职场文书
交通安全责任书范本
2014/07/24 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
初中思品教学反思
2016/02/20 职场文书
导游词之江南周庄
2019/12/06 职场文书