이 기능은 주로 문자 인코딩이나 페이지 이동을 설정하는 데 사용됩니다. 인코딩 설정에 대해서는 자세히 설명하지 않겠습니다.
예전에는 헤더 점프를 하면 점프하기 전에는 어떤 출력도 엄격히 금지되어 있으면 에러가 난다는 것만 알고 있었는데, 오늘 헤더에 대해 다시 알 수 있게 해주는 글을 봤습니다.
1. 앞에 헤더가 필요합니다. 출력이 없습니다.
하지만 이때 헤더를 다시 사용하면 분명히 잘못된 내용이 출력됩니다. 여기서는 ob의 개념을 활성화했습니다. 즉, 서버는 먼저 관련 출력을 저장하고 출력하기 전에 적절한 기회를 기다립니다. 지금처럼 한 문장을 실행하고 한 문장을 출력하는 대신, 오류가 발생했을 때만 보고할 수 있습니다. 헤더 문을 찾습니다.
구체적인 문장은 다음과 같습니다: ob_start(); ob_end_clean();ob_flush();......
2. ), 시간 내에
을 종료해야 합니다. 그렇지 않으면 계속 실행됩니다. 브라우저 측에 해당 데이터가 표시되지는 않지만 패킷 캡처 분석을 수행하면 다음 명령문도 표시됩니다. 실행. 그리고 브라우저 클라이언트로 전송되지만 브라우저에서 html로 실행되지 않습니다(브라우저가 헤더를 실행하고 리디렉션 작업을 수행함).
따라서 표준 사용 방법은 다음과 같습니다.
ob_start();
.....
if (something ){
ob_end_clean();
header("위치: 귀하의 위치");
exit;
else{
. .........
ob_flush(); //생략 가능
헤더 앞에 출력하고 싶다면 php를 수정하면 됩니다. .ini 파일
output_handler =mb_output_handler
또는 output_handler =on
출력 제어 기능을 사용하면 스크립트에서 데이터의 출력을 자유롭게 제어할 수 있습니다. . 이는 특히 데이터가 출력된 후 파일 헤더를 출력하려는 경우 매우 유용합니다. 출력 제어 기능은 header() 또는 setcookie()를 사용하여 전송된 파일 헤더 정보에는 영향을 미치지 않으며 echo() 및 PHP 코드와 유사한 데이터 블록에만 영향을 미칩니다.
PHP 헤더 점프 상세 분석과 관련된 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!