作者:mhq3022863 | 来源:互联网 | 2023-10-11 13:30
导读:本篇文章编程笔记来给大家介绍有关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头的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~