首页 > 资讯列表 > 编程/数据库 >> PHP

php 清除文件bom头脚本

PHP 2014-12-19 03:12:03 转载来源: 网络整理/侵权必删

本文为大家提供的是一个php实现的可以用来清除文件bom头的脚本,感兴趣的同学参考下. 问题描述 1、输出1或0时,始终头部有个符号,用字符判断时无法正常判断,用数值判断时不受影响。 if(!empty($phone_mob)){ echo 0; }else{ //header("Content-Type: text/html;charset=utf-8"); echo 1; //exit; } 2、判断是bom头问题,检查确实时头部异常字符输出

本文为大家提供的是一个php实现的可以用来清除文件bom头的脚本,感兴趣的同学参考下.

问题描述

1、输出1或0时,始终头部有个符号,用字符判断时无法正常判断,用数值判断时不受影响。

if(!empty($phone_mob)){

echo 0;

}else{

//header("Content-Type: text/html;charset=utf-8");

echo 1;

//exit;

}

2、判断是bom头问题,检查确实时头部异常字符输出。

ob_start();

ob_clean();

echo '---';

if(!empty($phone_mob)){

echo 0;

}else{

//header("Content-Type: text/html;charset=utf-8");

echo 1;

//exit;

}

ob_end_flush();

echo '=====';

3、用checkbom.php检查并去掉文件bom头后问题解决。

以下为清除文件bom头的脚本

<?php

/*检测并清除BOM*/  

if(isset($_GET['dir'])){  

    $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);  

                }  

            }  

        }//end while  

    closedir($dh);  

    }//end if($dh  

}//end function  

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.");  

}//end function  

function rewrite($filename, $data){  

    $filenum = fopen($filename, "w");  

    flock($filenum, LOCK_EX);  

    fwrite($filenum, $data);  

    fclose($filenum);  

}//end function  

?>


标签: php 清除 文件 bom 脚本


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持