热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php如何去掉bom头(怎么去掉bom头)

导读:本篇文章编程笔记来给大家介绍有关php如何去掉bom头的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、thinkp

导读:本篇文章编程笔记来给大家介绍有关php如何去掉bom头的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:


  • 1、thinkphp echo回的页面如何去掉BOM头


  • 2、PHP批量删除、清除UTF-8文件BOM头的代码实例


  • 3、什么是Bom头 怎样去除PHP文件的Bom头

thinkphp echo回的页面如何去掉BOM头

echostr那个只是验证URL的,原样输出就可以了,还有,你可以用编辑器去除BOM头信息,不知道你的编辑器是那种的,可否告知,把index.php入口文件的BOM用编辑器清除一下,还望贴出代码,方面寻找问题所在

PHP批量删除、清除UTF-8文件BOM头的代码实例

记得运行代码前先把文件备份一下哦,避免出现失败问题。

代码一:

代码如下:

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=redBOM

found,

automatically

removed./font");

}

else

{

return

("font

color=redBOM

found./font");

}

}

else

return

("BOM

Not

Found.");

}

代码二:

代码如下:

?php

header('content-Type:

text/html;

charset=utf-8');

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

//设置文件目录,如果没有设置,则自动设置为当前文件所在目录

$basedir=$_GET['dir'];

}else{

$basedir='.';

}

$auto=1;/*设置为1标示检测BOM并去除,设置为0标示只进行BOM检测,不去除*/

echo

'当前查找的目录为:'.$basedir.'当前的设置是:';

echo

$auto?'检测文件BOM同时去除检测到BOM文件的BOMbr

/':'只检测文件BOM不执行去除BOM操作br

/';

checkdir($basedir);

function

checkdir($basedir){

if($dh=opendir($basedir)){

while

(($file=readdir($dh))

!==

false){

if($file

!=

'.'

$file

!=

'..'){

if(!is_dir($basedir.'/'.$file)){

echo

'文件:

'.$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并已自动去除/font');

}else{

return

('

font

color=red找到BOM/font');

}

}else{

return

('

没有找到BOM');

}

}

function

rewrite($filename,$data){

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

flock($filenum,LOCK_EX);

fwrite($filenum,$data);

fclose($filenum);

}

?

什么是Bom头 怎样去除PHP文件的Bom头

方法一:用Ultraedit或Editplus打开PHP文件,另存为无Bom的utf-8文件方法二:用Dreamweaver去除Bom头

菜单–修改–页面属性 或者ctrl+j打开页面属性窗口,点选“标题/编码”去掉“包括Unicode签名Bom”前的勾

有Bom的文件太多?这样太麻烦?当然有更好的方法!方法三:用php文件批量去除bom头 将以下这段代码保存为php文件,上传到服务器,用浏览器访问它!?phpif (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). ;}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=redBOM found, automatically removed./font);} else {return (font color=redBOM found./font);}}else return (BOM Not Found.);}function rewrite ($filename, $data) {

$filenum = fopen($filename, w);

flock($filenum, LOCK_EX);

fclose($filenum);}?还用记事本保存?那你真是智商捉急了!

结语:以上就是编程笔记为大家整理的关于php如何去掉bom头的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


推荐阅读
author-avatar
mhq3022863
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有