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 新手入门教程
Aug 03 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
laravel 创建命令行命令的图文教程
Oct 23 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 PHP
PHP7 标准库修改
Mar 09 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
完美解决dedecms中的[html][/html]和[code][/code]问题
2007/03/20 PHP
php adodb分页实现代码
2009/03/19 PHP
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP中比较时间大小实例
2014/08/21 PHP
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
bat和python批量重命名文件的实现代码
2016/05/19 Python
Django多数据库的实现过程详解
2019/08/01 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
web页面录屏实现
2019/02/12 HTML / CSS
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
华为c/c++笔试题
2016/01/25 面试题
优秀党员转正的自我评价
2013/10/06 职场文书
大四学年自我鉴定
2013/11/13 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
预备党员群众意见
2015/06/01 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
Python pandas之求和运算和非空值个数统计
2021/08/07 Python
Python 数据可视化之Bokeh详解
2021/11/02 Python