检查PHP文件中是否含有bom的PHP函数

<?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
?>
时间: 2024-08-06 03:49:48

检查PHP文件中是否含有bom的PHP函数的相关文章

檢查php文件中是否含有bom的php文件

原文链接: http://www.cnblogs.com/Athrun/archive/2010/05/27/1745464.html 另一篇文章:<关于bom.php>,http://hi.baidu.com/aullik5/blog/item/f0e589127a28a2f0f7039e5e.html 另一篇文章:<[BOM]PHP程序的UTF8神秘编码问题之解>,http://www.mlecms.com/tech/56.html 类似WINDOWS自带的记事本等软件,在保存

检查Excel文件中是否含有插图

1.双击执行程序,并输入要检查的目录(包含子目录下所有xlsx,xls) 2.如有检查到excel中有插图,程序输出文件seekfile_result.txt,并显示插图所在文件 sheet表及图所在位置. import osimport win32com.clientimport xlrd def run_fast_scandir(dir, key1, key2): # dir: str, ext: list 搜索文件subfolders, files = [], []for f in os.

查找目录下的所有文件中是否含有某个字符串 linux

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^ :只匹配行首.   如^a 匹配以a开头的行abc,

linux查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" find .|xargs grep -ri "IBM" -l \ :只用来屏蔽一个元字符的特殊含义. 如\*,\',\",\|,\+,\^,\. 等       .:(点)只匹配任意单字符.       pattern\{n\}:只用来匹配前面pattern出现的次数.n为次数.如a\{2\}匹配aa.       pattern\{n,\}:含义同上,但次数

linux查找目录下的所有文件中是否含有某个字符串 &lt;zhuan&gt;

查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式 (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成. (2)基本元字符集及其含义 ^ :只匹配行首. 如^a 匹配以a开头的行abc,a2e,a12,aaa,.

Android——检测TXT文件中是否含有双字节字符

在读取双字节字符时,主要涉及到编码的选取: Java代码   public static boolean isRightfulTXT(File f) { // TODO Auto-generated method stub String regexp="[^\\x00-\\xff]";//双字节字符 Pattern p=Pattern.compile(regexp); try { FileInputStream fis=new FileInputStream(f); //"G

[Android Pro] 查看 keystore文件的签名信息 和 检查apk文件中的签名信息

1: 查看 keystore文件的签名信息 keytool -list -v -keystore keystoreName -storepass keystorePassword 2: 检查apk文件中的签名信息 解出apk中RSA文件,然后用keytool即可查看签名信息: keytool -printcert -file ~/test/CERT.RSA

查找目录下的所有文件中是否含有某个字符串

find .|xargs grep -ri "IBM" find .|xargs grep -ri "IBM" -l \ :只用来屏蔽一个元字符的特殊含义. 如\*,\',\",\|,\+,\^,\. 等       .:(点)只匹配任意单字符.       pattern\{n\}:只用来匹配前面pattern出现的次数.n为次数.如a\{2\}匹配aa.       pattern\{n,\}:含义同上,但次数最少为n.如a\{2,\}匹配aa,aaa

laravel 迁移文件中修改含有enum字段的表报错解决方法

解决方法: 在迁移文件中up方法最上方加上下面这一行代码即可: Schema::getConnection()->getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string'); 例如: public function up() { Schema::getConnection()->getDoctrineSchemaManager()->getDa