去除文件BOM头工具_PHP教程

WBOY
发布: 2016-07-13 10:29:05
原创
851 人浏览过

<?<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>
登录后复制

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/778931.htmlTechArticle? php /* * * 用法:复制以下代码至新建的php文件中,将该php文件放置项目目录,运行即可。代码来源于网络。 * chenwei 注。 */ header ('content-...
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板