Thinkphp 去除bom头 解决模版空输出问题
2024-08-24 08:23:31
<?php
if (isset($_GET['dir'])){ //config the basedir
$basedir=$_GET['dir'];
}else{
$basedir = '.';
}
$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")." <br>";
}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 ("<font color=red>BOM found,automatically removed.</font>");
} else {
return ("<font color=red>BOM found.</font>");
}
}
else return ("BOM Not Found.");
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
最新文章
- 教你一招:根据身份证号计算出生年月和年龄 text函数和mid函数混用 datedif函数和today函数混用
- 利用Java自带的MD5加密
- 开源项目Foq简介
- PLSQL_闪回操作3_Fashback Transaction Query
- jquery 图片背景透明度(支持IE5/IE6/IE7)
- win7配置iis 出现:HTTP 错误 403.14 - Forbidden
- 关于GPS偏移的基础知识
- Java Swing paint repaint update 方法的关系
- Linux如此“自私”?
- Spring中报";Could not resolve placeholder";的解决方案
- HDFS基本原理及数据存取实战
- Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to ;XX.XX.XX.XX:6379] with root cause
- 【CF1154】题解
- 课程5:Spring框架2016版视频--视频列表目录
- python mmap对象
- java.sql.SQLException: ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB
- [UE4]C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例
- 【转】JVM参数设置、分析
- GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app
- 012-基于 git hooks 的前端代码质量控制解决方案