php中如何去掉ufeff

這篇文章主要介紹了php中如何去掉ufeff,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)建站專注于甘南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供甘南營(yíng)銷型網(wǎng)站建設(shè),甘南網(wǎng)站制作、甘南網(wǎng)頁(yè)設(shè)計(jì)、甘南網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造甘南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供甘南網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

php去掉ufeff的方法:1、將PHP文件保存為無(wú)dom格式;2、通過(guò)“function checkBOM($filename){...}”方法檢查并去掉ufeff即可。

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦

php 去除文件的BOM\ufeff

今天遇到一個(gè)問(wèn)題,請(qǐng)求接口返回的數(shù)據(jù)不符合格式,用瀏覽器打印出來(lái)又看不出什么問(wèn)題,最后發(fā)現(xiàn)是數(shù)據(jù)頭部有\(zhòng)UFEFF(BOM頭),搜索下,是文件編碼格式為UTF8-BOM引起的,開(kāi)發(fā)時(shí)編輯器保存格式有誤,解決辦法有兩種:

1、文件量少,可以用notopad++ 保存為無(wú)dom格式(格式->轉(zhuǎn)為UTF-8 無(wú)dom格式)

2、文件很多時(shí),用下列代碼,運(yùn)行后可以對(duì)指定目錄(不傳參則為當(dāng)前目錄)下所有文件進(jìn)行修復(fù)

<?php
header('content-Type: text/html; charset=utf-8');
if(isset($_GET['dir'])){ //設(shè)置文件目錄,如果沒(méi)有設(shè)置,則自動(dòng)設(shè)置為當(dāng)前文件所在目錄
    $basedir=$_GET['dir'];
}else{
    $basedir='.';
}
$auto=1;/*設(shè)置為1標(biāo)示檢測(cè)BOM并去除,設(shè)置為0標(biāo)示只進(jìn)行BOM檢測(cè),不去除*/
echo '當(dāng)前查找的目錄為:'.$basedir.'當(dāng)前的設(shè)置是:';
echo $auto?'檢測(cè)文件BOM同時(shí)去除檢測(cè)到BOM文件的BOM<br />':'只檢測(cè)文件BOM不執(zhí)行去除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并已自動(dòng)去除</font>');
        }else{
            return (' <font color=red>找到BOM</font>');
        }
    }else{
        return (' 沒(méi)有找到BOM');
    }
}
function rewrite($filename,$data){
    $filenum=fopen($filename,'w');
    flock($filenum,LOCK_EX);
    fwrite($filenum,$data);
    fclose($filenum);
}
?>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“php中如何去掉ufeff”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)站名稱:php中如何去掉ufeff
網(wǎng)址分享:http://muchs.cn/article20/iepgjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、用戶體驗(yàn)、網(wǎng)站營(yíng)銷微信公眾號(hào)、外貿(mào)建站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)