search
Homephp教程php手册去除文件BOM头工具

<?<span>php
</span><span>/*</span><span>*
 * 用法:复制以下代码至新建的php文件中,将该php文件放置项目目录,运行即可。代码来源于网络。
 * chenwei 注。
 </span><span>*/</span>
<span>header</span>('content-Type: text/html; charset=utf-8'<span>);
</span><span>$auto</span>=1;<span>/* </span><span>设置为1标示检测BOM并去除,设置为0标示只进行BOM检测,不去除 </span><span>*/</span>
<span>$basedir</span>='.'<span>;
</span><span>$loop</span>=<span>true</span><span>;
</span><span>echo</span> '当前查找的目录为:'.<span>$basedir</span>.'当前的设置是:'<span>;
</span><span>echo</span> '(1)',<span>$loop</span>?'检查当前目录以及当前目录的子目录':'只针对当前目录进行检测'<span>;
</span><span>echo</span> '(2)',<span>$auto</span>?'检测文件BOM同时去除检测到BOM文件的BOM<br />':'只检测文件BOM不执行去除BOM操作<br />'<span>;

checkdir(</span><span>$basedir</span>,<span>$loop</span><span>);
</span><span>function</span> checkdir(<span>$basedir</span>='',<span>$loop</span>=<span>true</span><span>){
    </span><span>$basedir</span>=<span>empty</span>(<span>$basedir</span>)?'.':<span>$basedir</span><span>;
    </span><span>if</span>(<span>$dh</span>=<span>opendir</span>(<span>$basedir</span><span>)){
        </span><span>while</span> ((<span>$file</span>=<span>readdir</span>(<span>$dh</span>))!==<span>false</span><span>){
            </span><span>if</span>(<span>$file</span>!='.'&&<span>$file</span>!='..'<span>){
                </span><span>if</span>(!<span>is_dir</span>(<span>$basedir</span>.'/'.<span>$file</span><span>)){
                    </span><span>echo</span> '文件: '.<span>$basedir</span>.'/'.<span>$file</span> .checkBOM(<span>$basedir</span>.'/'.<span>$file</span>).' <br>'<span>;
                }</span><span>else</span><span>{
                    </span><span>if</span>(!<span>$loop</span>) <span>continue</span><span>;
                    </span><span>$dirname</span>=<span>$basedir</span>.'/'.<span>$file</span><span>;
                    checkdir(</span><span>$dirname</span><span>);
                }
            }
        }
        </span><span>closedir</span>(<span>$dh</span><span>);
    }
}
</span><span>function</span> checkBOM(<span>$filename</span><span>){
    </span><span>global</span> <span>$auto</span><span>;
    </span><span>$contents</span>=<span>file_get_contents</span>(<span>$filename</span><span>);
    </span><span>$charset</span>[1]=<span>substr</span>(<span>$contents</span>,0,1<span>);
    </span><span>$charset</span>[2]=<span>substr</span>(<span>$contents</span>,1,1<span>);
    </span><span>$charset</span>[3]=<span>substr</span>(<span>$contents</span>,2,1<span>);
    </span><span>if</span>(<span>ord</span>(<span>$charset</span>[1])==239&&<span>ord</span>(<span>$charset</span>[2])==187&&<span>ord</span>(<span>$charset</span>[3])==191<span>){
        </span><span>if</span>(<span>$auto</span>==1<span>){
            </span><span>$rest</span>=<span>substr</span>(<span>$contents</span>,3<span>);
            rewrite(</span><span>$filename</span>,<span>$rest</span><span>);
            </span><span>return</span> (' <font color=red>找到BOM并已自动去除</font>'<span>);
        }</span><span>else</span><span>{
            </span><span>return</span> (' <font color=red>找到BOM</font>'<span>);
        }
    }</span><span>else</span><span>{
        </span><span>return</span> (' 没有找到BOM'<span>);
    }
}
</span><span>function</span> rewrite(<span>$filename</span>,<span>$data</span><span>){
    </span><span>$filenum</span>=<span>fopen</span>(<span>$filename</span>,'w'<span>);
    </span><span>flock</span>(<span>$filenum</span>,<span>LOCK_EX);
    </span><span>fwrite</span>(<span>$filenum</span>,<span>$data</span><span>);
    </span><span>fclose</span>(<span>$filenum</span><span>);
}</span>

 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool