代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
批量去除文件bom头
作者:
乔依
/ 发布于
2018/3/20
/
821
批量去除文件bom头
<?php $basedir = '.'; //执行目录 if(php_sapi_name()=='cli'){ $argv[1]&&$basedir=$argv[1]; fwrite(STDOUT,"Enter the Y to confirm the implementation in the ".$basedir." directory:\n"); strtolower(trim(fgets(STDIN)))=='y'||die(); }else{ isset($_GET['dir'])&&$basedir = $_GET['dir']; } $auto = 1; checkdir($basedir); function checkdir($basedir) { if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..') { if (!is_dir($basedir . "/" . $file)) { echo "filename: $basedir/$file " . checkBOM("$basedir/$file") . "\n"; } else { $dirname = $basedir . "/" . $file; checkdir($dirname); } } } closedir($dh); } } function checkBOM($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { if ($auto == 1) { $rest = substr($contents, 3); rewrite($filename, $rest); return colorize("BOM found, automatically removed.","NOTE"); } else { return colorize("BOM found","WARNING"); } } else return colorize("BOM Not Found.","WARNING"); } function rewrite($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); } function colorize($text, $status) { $out = ""; switch($status) { case "SUCCESS": $out = "[42m"; //Green background break; case "FAILURE": $out = "[41m"; //Red background break; case "WARNING": $out = "[43m"; //Yellow background break; case "NOTE": $out = "[44m"; //Blue background break; default: throw new Exception("Invalid status: " . $status); } return chr(27) . "$out" . "$text" . chr(27) . "[0m"; } ?>
试试其它关键字
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
乔依
贡献的其它代码
(
16
)
.
时间戳转化|年|月|日|时|分|秒|星期|YYYY-MM-DD|HH:mm
.
批量去除文件bom头
.
JSON对象与字符串之间的相互转换
.
文本文件删除空行
.
重写已经存在hive表的数据
.
关闭相关
.
java读取Properties文件及赋值
.
通过索引获取列表值
.
循环插入数据,并且计算插入所用时间
.
字符串操作
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3