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 相关文章推荐
10条PHP编程习惯助你找工作
Sep 29 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
php Smarty模板生成html文档的方法
Apr 12 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
php连接Access数据库错误及解决方法
Jun 20 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
php封装的表单验证类完整实例
Oct 19 PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 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
PHP APC缓存配置、使用详解
2014/03/06 PHP
理解PHP中的stdClass类
2014/04/18 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
python中for语句简单遍历数据的方法
2015/05/07 Python
pyqt5自定义信号实例解析
2018/01/31 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
经济系大学生求职信
2013/10/01 职场文书
作文批改评语大全
2014/04/23 职场文书
妇女干部培训方案
2014/05/12 职场文书
护校行动方案
2014/05/31 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
2016公司年会主持词
2015/07/01 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python