PHP转换文件夹下所有文件编码的实现代码


Posted in PHP onJune 06, 2013

PHP转换文件夹下所有文件的编码 适合发布网站的其他编码版本 比如你有一个GBK版本 你想有一个UTF8版本 或者你只有GBK的源码 你想二次开发 但是你不想改变IDE的编码方式 你可以用这个程序将其批量转化为UTF8:
代码如下:

<?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 相关文章推荐
最省空间的计数器
Oct 09 PHP
如何删除多级目录
Oct 09 PHP
PHP获取一年有几周以及每周开始日期和结束日期
Aug 06 PHP
PHP异常处理Exception类
Dec 11 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
PHP聊天室简单实现方法详解
Dec 08 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
利用PHP实现图片等比例放大和缩小的方法详解
Jun 06 #PHP
PHP删除目录及目录下所有文件的方法详解
Jun 06 #PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 #PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 #PHP
php IP转换整形(ip2long)的详解
Jun 06 #PHP
php全局变量和类配合使用深刻理解
Jun 05 #PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 #PHP
You might like
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
JavaScript与jQuery实现的闪烁输入效果
2016/02/18 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
js实现动态改变radio状态的方法
2018/02/28 Javascript
vue中的数据绑定原理的实现
2018/07/02 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
如何使用VuePress搭建一个类型element ui文档
2019/02/14 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
js module大战
2019/04/19 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
Python字符串匹配算法KMP实例
2015/07/18 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
什么是Python包的循环导入
2020/09/08 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
新浪网技术部笔试题
2016/08/26 面试题
校长就职演讲稿
2014/01/06 职场文书
银行金融服务方案
2014/06/11 职场文书
无犯罪记录证明
2014/09/19 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
box-shadow单边阴影的实现
2023/05/21 HTML / CSS