첫 번째 방법: 정적 PHP 동적 페이지 콘텐츠 생성
코드 복사 코드는 다음과 같습니다.
ob_start();#서버 캐시 활성화
include_once 'Index.php'
$ctx= ob_get_contents ();#캐시 가져오기
ob_end_clean();#캐시 지우기
$fh=fopen("index.html","w+")
fwrite($fh,$ctx); #html 작성, html 생성
fclose($fh);
/*
1. 플러시: 버퍼 및 출력의 내용을 새로 고칩니다.
함수 형식: 플러시()
설명: 이 함수는 자주 사용되며 매우 효율적입니다.
2. ob_start: 출력 버퍼 열기
함수 형식: void ob_start(void)
설명: 버퍼가 활성화되면 PHP 프로그램의 파일 헤더 정보가 아닌 모든 정보가 전송되지 않고 저장됩니다. . 버퍼의 내용을 출력하려면 ob_end_flush() 또는 플러시()를 사용하여 버퍼의 내용을 출력할 수 있습니다.
3. ob_get_contents: 내부 버퍼의 내용을 반환합니다.
함수 형식 사용: 문자열 ob_get_contents(void)
설명: 이 함수는 현재 버퍼의 내용을 반환합니다. 출력 버퍼가 활성화되지 않은 경우 FALSE를 반환합니다.
4. ob_get_length: 내부 버퍼의 길이를 반환합니다.
사용법: int ob_get_length(void)
설명: 이 함수는 출력 버퍼가 활성화되지 않은 경우 ob_get_contents와 동일하게 현재 버퍼의 길이를 반환합니다. 그런 다음 FALSE를 반환합니다.
5. ob_end_flush: 내부 버퍼의 내용을 브라우저로 보내고 출력 버퍼를 닫습니다.
사용법: void ob_end_flush(void)
설명: 이 함수는 출력 버퍼(있는 경우)의 내용을 보냅니다.
6. ob_end_clean: 내부 버퍼의 내용을 삭제하고 내부 버퍼를 닫습니다.
사용법: void ob_end_clean(void)
설명: 이 함수는 내부 버퍼의 내용을 출력하지 않고 삭제합니다!
7. ob_implicit_flush: 절대 새로 고침 켜기 또는 끄기
사용 방법: void ob_implicit_flush ([int flag])
*/
두 번째 유형:
php 정적 파일 생성 클래스( 가정용)
코드 복사 코드는 다음과 같습니다.
class CreateHtml
{
function mkdir( $prefix= 'article' )
{
$y = 날짜('Y');
$m = 날짜('m');
$d = 날짜('d')
$p=DIRECTORY_SEPARATOR
$ filePath='article'. $p.$y.$p.$m.$p.$d;
$a=explode($p,$filePath)
foreach($a를 $dir로)
{
$path.=$dir.$p;
if(!is_dir($path))
{
//echo '해당 디렉토리 없음'.$path; >mkdir($path, 0755);
}
}
return $filePath.$p
}
function start()
{
ob_start(); 🎜>}
함수 end()
{
$info = ob_get_contents();
$fileId = '12345';
$postfix =
$path = $this-> mkdir($prefix= 'article')
$fileName = time().'_'.$fileId.$postfix
$file=fopen($path.$fileName, 'w+');
fwrite($file,$info);
ob_end_flush() >$s=new CreateHtml();
?>