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 相关文章推荐
在PHP中利用XML技术构造远程服务(上)
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
限制ckeditor上传图片文件大小的方法
Nov 15 PHP
2014过年倒计时示例
Jan 31 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 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
图解上海144收音机
2021/03/02 无线电
PHP远程调试之XDEBUG
2015/12/29 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
Highcharts入门之简介
2016/08/02 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vue axios用法教程详解
2017/07/23 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
python中Django文件上传方法详解
2020/08/05 Python
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
Java基础面试题
2012/11/02 面试题
军训自我鉴定范文
2014/02/13 职场文书
廉洁使者实施方案
2014/03/29 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
邀请函怎么写
2015/01/30 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python
Java中的随机数Random
2022/03/17 Java/Android