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经典的给图片加水印程序
Dec 06 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
解析php中curl_multi的应用
Jul 17 PHP
PHP读取大文件的多种方法介绍
Apr 04 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 PHP
PHP实现考试倒计时功能代码
Apr 16 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汉字转换拼音的类
2013/06/18 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
js单例模式详解实例
2013/11/21 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
js常用DOM方法详解
2017/02/04 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
Python实现发送email的几种常用方法
2014/08/18 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
料理师求职信
2014/01/30 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
党小组考察意见
2015/06/02 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
Python基础详解之邮件处理
2021/04/28 Python
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python