php中如何去掉ufeff

这篇文章主要介绍了php中如何去掉ufeff,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联建站专注于甘南网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供甘南营销型网站建设,甘南网站制作、甘南网页设计、甘南网站官网定制、小程序开发服务,打造甘南网络公司原创品牌,更为您提供甘南网站排名全网营销落地服务。

php去掉ufeff的方法:1、将PHP文件保存为无dom格式;2、通过“function checkBOM($filename){...}”方法检查并去掉ufeff即可。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 去除文件的BOM\ufeff

今天遇到一个问题,请求接口返回的数据不符合格式,用浏览器打印出来又看不出什么问题,最后发现是数据头部有\UFEFF(BOM头),搜索下,是文件编码格式为UTF8-BOM引起的,开发时编辑器保存格式有误,解决办法有两种:

1、文件量少,可以用notopad++ 保存为无dom格式(格式->转为UTF-8 无dom格式)

2、文件很多时,用下列代码,运行后可以对指定目录(不传参则为当前目录)下所有文件进行修复

':'只检测文件BOM不执行去除BOM操作';
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).' 
';                 }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 (' 找到BOM并已自动去除');         }else{             return (' 找到BOM');         }     }else{         return (' 没有找到BOM');     } } function rewrite($filename,$data){     $filenum=fopen($filename,'w');     flock($filenum,LOCK_EX);     fwrite($filenum,$data);     fclose($filenum); } ?>

感谢你能够认真阅读完这篇文章,希望小编分享的“php中如何去掉ufeff”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


网站栏目:php中如何去掉ufeff
转载注明:http://pwwzsj.com/article/iepgjo.html