백엔드 개발 PHP 문제 PHP BOM을 제거하는 방법

PHP BOM을 제거하는 방법

Dec 08, 2021 am 10:17 AM
bom

php bom 제거 방법: 1. PHP 루트 디렉터리를 찾습니다. 2. 루트 디렉터리에 "function checkBOM($filename){...}" 및 기타 코드를 배치하고 브라우저를 통해 실행하여 액세스합니다.

PHP BOM을 제거하는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.

php bom을 제거하는 방법?

PHP로 BOM을 제거하는 쉬운 방법

/* 
 +------------------------------------------------------------------------------------------- 
 + Title        : 去掉BOM头方法 
 + Author       : hello_sgw 
 + Version      : V1.0.0.1 
 + Initial-Time : 2017-08-12 15:18
 + Last-time    : 2017-08-12 16:01
 + Desc         : 
 +------------------------------------------------------------------------------------------- 
*/
로그인 후 복사

인터페이스를 호출했을 때 상대방이 제공하는 캡슐화 방법을 사용했기 때문에 데이터 세트를 출력할 때 계속 오류가 발생하는 것으로 나타났습니다. 상대방의 코딩 문제(BOM 헤더 포함)가 있을 수 있으므로 온라인에서 BOM을 감지하고 이를 제거하고 새 파일을 재생성할 수 있는 방법을 검색했습니다.

BOM 헤더란 무엇인가요?

BOM --바이트 순서 표시, 중국어 이름은 utf-8로 인코딩된 파일에서 BOM이 파일의 헤더에 있으며 3바이트를 차지함을 나타내는 데 사용됩니다. 해당 파일은 utf-8 인코딩에 속합니다.

BOM 헤더를 인식할 수 있는 소프트웨어는 많지만 여전히 BOM 헤더를 인식하지 못하는 소프트웨어도 있습니다. 예를 들어, PHP는 BOM 헤더를 인식하지 못합니다. 메모장으로 UTF-8 인코딩을 편집한 후.

해결책:

# 这里代码为PHP方式去除当前目录及字目录所有文件BOM信息,只要将此代码文件放到根目录下,然后浏览器运行访问就可以了
<?php
if (isset($_GET[&#39;dir&#39;])) { //设置文件目录 
  $basedir = $_GET[&#39;dir&#39;];
} else {
  $basedir = &#39;.&#39;;
}
 
$auto = 1;
checkdir($basedir);
 
function checkdir($basedir)
{
  if ($dh = opendir($basedir)) {
    while (($file = readdir($dh)) !== false) {
      if ($file != &#39;.&#39; && $file != &#39;..&#39;) {
        if (!is_dir($basedir . "/" . $file)) {
          echo "filename: $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=&#39;red&#39;>BOM found, automatically removed.</font>");
    } else {
      return ("<font color=&#39;red&#39;>BOM found.</font>");
    }
  } else
    return ("BOM Not Found.");
}
 
function rewrite($filename, $data)
{
  $filenum = fopen($filename, "w");
  flock($filenum, LOCK_EX);
  fwrite($filenum, $data);
  fclose($filenum);
}
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP BOM을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

dom 및 bom 객체는 무엇입니까? dom 및 bom 객체는 무엇입니까? Nov 13, 2023 am 10:52 AM

"문서", "요소", "노드", "이벤트" 및 "창"을 포함한 5개의 DOM 개체가 있습니다. 2. "창", "네비게이터", "위치" 및 "역사" 및 "화면" 및 기타 5개; BOM 객체의 유형.

봄과 돔의 차이점은 무엇인가요? 봄과 돔의 차이점은 무엇인가요? Nov 13, 2023 pm 03:23 PM

BOM과 DOM은 역할과 기능, JavaScript와의 관계, 상호의존성, 다양한 브라우저의 호환성, 보안 고려사항 측면에서 다릅니다. 세부 소개: 1. 역할 및 기능 BOM의 주요 기능은 브라우저 창에 대한 직접 액세스 및 제어를 제공하는 반면, DOM의 주요 기능은 웹 문서를 개체 트리로 변환하는 것입니다. 개발자는 이 개체 트리를 사용하여 웹 페이지의 요소와 콘텐츠를 얻고 수정합니다. 2. JavaScript와의 관계

PHP bom의 의미와 역할 살펴보기 PHP bom의 의미와 역할 살펴보기 Mar 10, 2024 pm 10:45 PM

PHPbom의 의미와 기능 PHP 프로그래밍에서 BOM(ByteOrderMark)은 파일의 인코딩 방법과 바이트 순서를 식별하는 데 사용되는 특수 문자 시퀀스입니다. BOM은 일반적으로 파서가 인코딩을 식별할 수 있도록 파일 시작 부분에 삽입됩니다. 특히 UTF-8과 같이 ASCII 인코딩으로 시작하지 않는 일부 인코딩 형식의 경우 더욱 그렇습니다. BOM은 다양한 인코딩 형식으로 다양한 기능을 가지고 있습니다. 다음에서는 PHP에서 BOM의 의미와 기능을 구체적으로 살펴보고 이를 코드 예제와 결합하여 추가합니다.

dom과 bom은 무엇을 달성하나요? dom과 bom은 무엇을 달성하나요? Nov 20, 2023 pm 02:28 PM

DOM은 웹 페이지 콘텐츠에 대한 동적 액세스 및 업데이트를 가능하게 하며, BOM은 브라우저 동작 제어, 브라우저 및 사용자 환경에 대한 정보 획득 등 브라우저 창과 상호 작용하기 위한 API를 제공합니다. BOM은 주로 웹 페이지 콘텐츠를 운영하는 데 사용됩니다. 브라우저 창을 작동하고 브라우저와 상호 작용합니다. 이 두 가지가 함께 웹 프런트 엔드 개발의 중요한 기반을 형성하여 개발자에게 웹 페이지와 브라우저를 제어하고 작동할 수 있는 풍부한 방법을 제공하여 우수한 사용자 경험을 갖춘 웹 애플리케이션과 강력한 상호 작용을 달성합니다.

bom과 dom의 모델은 무엇입니까? bom과 dom의 모델은 무엇입니까? Nov 13, 2023 pm 05:08 PM

BOM은 브라우저 개체 모델이고 DOM은 문서 개체 모델입니다. BOM은 브라우저 창과 브라우저가 제공하는 다양한 객체를 설명하는 데 사용되는 모델입니다. BOM은 브라우저 창, 프레임 등의 객체에 액세스하고 작동할 수 있습니다. DOM은 개발자가 스크립팅 언어를 통해 문서의 요소와 속성에 액세스하고 조작할 수 있도록 하는 API 세트를 제공합니다. DOM의 핵심 개념에는 노드, 요소, 속성, 텍스트 등이 포함됩니다. DOM 트리의 루트 노드는 문서 객체입니다. 전체 문서의 내용에 접근할 수 있습니다.

PHP 코드에서 bom을 제거하는 방법 PHP 코드에서 bom을 제거하는 방법 Oct 20, 2022 am 09:29 AM

PHP 코드에서 BOM을 제거하는 방법: 1. "function clearbom($contents){...}" 방법을 사용하여 텍스트에서 BOM 헤더를 제거합니다. 2. "function checkBOM ($filename) {... }" 메소드를 사용하여 BOM 헤더를 감지하고 제거합니다. 3. "function SearchBOM($string) {...}" 메소드를 사용하여 현재 파일에 BOM이 있는지 검색하고 제거합니다.

PHP bom의 정의와 그 응용 시나리오 PHP bom의 정의와 그 응용 시나리오 Mar 09, 2024 pm 09:36 PM

PHPBOM 및 해당 애플리케이션 시나리오의 정의 바이트 순서 표시인 BOM(ByteOrderMark)은 텍스트 인코딩 형식을 표시하는 데 사용되는 특수 문자 시퀀스입니다. PHP 개발에서 BOM은 일반적으로 특정 코딩 문제를 해결하는 데 사용됩니다. 경우에 따라 BOM이 올바르게 처리되지 않으면 페이지에 잘못된 문자가 표시되거나 기타 문제가 발생할 수 있습니다. 이 글에서는 PHPBOM의 정의와 적용 시나리오를 자세히 소개하고 독자의 이해를 돕기 위해 특정 코드 예제를 첨부합니다. 1. PH

프런트엔드 BOM과 DOM의 차이점은 무엇입니까? 프런트엔드 BOM과 DOM의 차이점은 무엇입니까? Nov 13, 2023 pm 02:36 PM

차이점은 다음과 같습니다. 1. BOM은 브라우저 개체 모델을 참조하고 DOM은 문서 개체 모델을 참조합니다. 2. BOM은 브라우저 창 중앙에 위치하며 DOM 문서의 요소는 노드로 표시됩니다. 구조가 구성되어 있습니다. 3. 상호 작용 방법이 다르며, BOM은 Window 개체를 통해 상호 작용하고, DOM은 개체 간 중첩 및 참조를 통해 상호 작용합니다. 4. 응용 프로그램 범위가 다르며, BOM이 사용됩니다. 브라우저 창과 브라우저 간의 상호 작용을 위해 DOM을 사용하여 문서 내용의 작업 및 상호 작용을 수행합니다. 5. 다양한 개발 추세 등

See all articles