ob_start();
setcookie("username","Song Yanbin",time() 3600)
echo "사용자 이름:".$HTTP_COOKIE_VARS["username"]. " n";
echo "사용자 이름:".$_COOKIE["username"]."n"
print_r($_COOKIE)
?
경고: 헤더를 수정할 수 없습니다. 정보 - 이미 보낸 헤더의 오류 이유는
php 프로그램의 헤드에 추가했습니다.
header("cache-control:no-cache,must-revalidate")
후 즉, 위 페이지에서는 Error가 발생하며, N개의 정보를 살펴봐도 결과가 없습니다. 오늘 우연히 내 php.ini의 구성에 문제가 있다는 것을 발견했습니다. C:windows
output_buffering 아래의 php.ini 파일이 기본적으로 꺼져 있는 것을 발견했습니다. 이제 4096으로 설정했는데 괜찮습니다.
표시 프롬프트 오류를 해결하는 데 사용됩니다. (날짜별로 내보낸 파일 수)를 파일 이름으로 사용할 수 없다는 오류 메시지입니다.
브라우저에 데이터를 출력하기 전에 setcookie 함수를 전송해야 합니다.
위의 제한 사항에 따라 setcookie() 함수를 실행할 때 "정의되지 않은 인덱스", "헤더 정보를 수정할 수 없습니다 - 이미 보낸 헤더"... 등과 같은 문제가 자주 발생합니다. 오류 해결 방법 " 헤더 정보를 수정할 수 없습니다. "이미 보낸 헤더"는 쿠키를 생성하기 전에 브라우저로의 데이터 출력을 지연시킵니다. 따라서 프로그램 앞에 ob_start(); 함수를 추가할 수 있습니다.
ob_start() 함수는 버퍼를 여는 데 사용됩니다. 예를 들어 header() 함수 앞에 캐리지 리턴, 공백, 줄바꿈 등의 출력이 있으면 "Header had all Ready"라는 오류가 발생합니다. send by". 이 경우 먼저 ob_start()를 사용할 수 있습니다. 버퍼를 열면 PHP 코드의 데이터 블록 및 echo() 출력이 버퍼에 들어가고 즉시 출력되지 않습니다. 물론 버퍼를 여는 것은 많은 기능이 있으므로 다음 네 가지 사항을 요약할 수 있습니다.
1. header() 이전에 사용됨
ob_start(); //버퍼 열기
echo "Hellon";
header("location:index.php"); //브라우저를 index.php로 리디렉션
ob_end_flush();//모든 콘텐츠를 브라우저에 출력
?> () 함수는 클라이언트 및 서버 측 정보를 얻을 수 있지만 클라이언트 측 정보는 버퍼에 저장되어야 합니다. 이 방법이 최선의 선택입니다.
ob_start(); //버퍼 열기
phpinfo(); //phpinfo 함수 사용
$info=ob_get_contents(); //버퍼의 내용을 가져오고 $info에 값 할당
$file=fopen('info.txt','w') / /info.txt 파일 열기
fwrite($file,$info); //info.txt에 정보 쓰기
fclose($file); //info.txt 파일 닫기
?>
3. 정적 페이지 기술
ob_start(); //버퍼 열기
?>
php 페이지의 모든 출력
$content = ob_get_contents();// php 페이지 출력
$fp = fopen("output00001.html", "w"); //파일을 만들고 열면 쓰기 준비가 됩니다.
fwrite($fp, $content) //쓰기 php 페이지의 모든 내용을 output00001.html로 복사한 다음...
fclose($fp)
?> 4. 출력 코드
Function run_code($code); 🎜>If($code) {
ob_start();
eval($code);
$contents = ob_get_contents()
ob_end_clean(); 에코 "오류! 출력 없음";
exit();
}
return $contents;
}
위 내용은 볼륨 정보를 포함하여 헤더 정보를 수정할 수 없는 오류에 대한 해결 방법을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.