PHP批量去除PHP文件中bom的代码

<?php
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);
                }
            }
        }
        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._<a href=http://www.joyphper.net>http://www.joyphper.net</a></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);
}
?>

  

时间: 2024-10-18 14:35:04

PHP批量去除PHP文件中bom的代码的相关文章

Linux命令行批量替换多文件中的字符串【转】

Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串.sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 例如:我要把mahuinan替换为huinanma, 执行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www' 这是目

批量处理.cs文件中的命名空间排序及注释

公司里每个程序员在命名空间的排序和注释上都有很多的不同. 杂乱的命名空间: using System; using System.Collections.Generic; using Autodesk.Revit.UI; using BIMCore.UI.ModelessForm; using System.Text; using System.Windows.Forms; using System.Threading; using RevitDocument = Autodesk.Revit.

怎样批量删除PDF文件中的注释

日常我们在阅读一些PDF文章时候,我们会发现有些PDF文章带有非常多的注释,显得非常不美观,影响了阅读体验.那么PDF文章里的批注应该怎么进行删除呢?怎样批量删除PDF文件中的注释? 操作教程: 1.首先我们点击安装在电脑上的PDF编辑器,运行程序,我在看见软件界面之后,我们点击软件界面的"打开"选项.添加并打开我们需要进行编辑的PDF文件. 2.PDF文件打开以后,在软件的工具栏里找到"注释"按钮,单击按钮,会弹出一个下拉框,然后选择"显示注释列表&qu

oracle 11g 从 dmp 文件中导出 sql 代码 的方法.

impdp sys/password full=y dumpfile=bg.dmp nologfile=y sqlfile=bg_dmp.sql 备注: bg.dmp 是 dmp 文件,   bg_dmp.sql 是导出来的 SQL  代码.   导出的文件和代码都存放在:oracle 安装目录:  app/oracle/admin/ORCL/dpdump 文件夹下面. oracle 11g 从 dmp 文件中导出 sql 代码 的方法.

ecshop如何直接在dwt,lbi模板文件中执行php代码

272版本之前的可以直接写php代码的,272,273版本的都不行, 网上搜了一下,关于这方面的也不多,而且问题是写的解决方法也不是很准确, 下面是我的解决方法,我的echsop是272版本的 找到文件includes/cls_template.php,在287行(我的是在287行) $source = preg_replace("/<\?[^><]+\?>/i", "", $source);代码注释掉就ok了 不过为了安全考虑,还是不建议直

批量从apk文件中提取出so文件

应用场景 在不解压apk文件夹的情况下批量的从apk文件中提取出所有的so文件.这样你即不用使用apktool 这些工具令产生大量的中间文件,或者将apk的后缀变为.zip,然后在解压,节省了磁盘空间. 功能说明 提取出一系列的apk文件然后提取出它们中的所有so文件,按照apk的名字以及它们之前所在的文件夹进行存储.如下图所示: 代码实现 #!/usr/bin/env python # coding=utf-8 import zipfile import os path = "/home/ch

linux 批量替换所有文件中包含的字符串

sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .` 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 转: linux下批量替换文件内容 1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g&

Python-工具-批量替换EXCLE文件中某列的值

由于工作的原因,经常需要查询统计各地数据,有时结果收集上来后发现需要对其中某些列的数据进行转换,例如将代码值转成中文含义. 重新统计需要花费时间和运维精力,所以自己写了一个简单的替换脚本.当然,理想状态还是在查询统计前就把要求确认. 下面的代码复制到.py文件中,安装完成Python后,安装必要的包(xlrd.xlutils)就可以使用了.注意的是,需要替换的所有文件需和脚本文件同一目录. (脚本只能处理xls扩展名的文件,因为对xlsx处理可用的Python包没找到,但是xlsx的可以批量替换

python去除读取文件中多余的空行

今天在写登录程序练习的时候,黑名单文件中多了几行空行.导致运行的时候报错:IndexError: list index out of range 代码 brackData = open(brackDataPath,"r") for line in brackData: temp = line.strip().split(',') brackDict[temp[0]] = int(temp[1]) brackData.close() 错误 Traceback (most recent c