PHP 동적 페이지에서 정적 페이지를 생성하는 3가지 일반적인 방법
정적 페이지를 생성하는 것은 매우 간단합니다. 템플릿과 템플릿 제목을 정의한 다음 str_replace를 사용하여 바꾸는 것이 가장 일반적인 방법입니다. 다른 하나는 ob_get_contents 출력을 사용하여 html을 얻는 것입니다. 권장되지 않는 또 다른 방법입니다. 유일한 방법은 file_get_contents를 사용하여 원격 파일에 직접 액세스한 후 저장하는 것인데 성능이 매우 낮습니다.
구체적인 방법을 간략하게 설명하면 다음과 같습니다.
1. file 함수를 사용하여 정적 페이지의 템플릿 문자열을 가져온 다음 str_replace 함수를 사용하여 교체해야 할 항목을 교체한 다음 새 파일에 씁니다.
2. PHP의 출력 제어 기능(Output Control)을 사용하여 정적 페이지 문자열을 얻은 다음 이를 새 파일에 씁니다.
$file=fopen($filemodel,"rb"); //템플릿을 열고 파일 포인터를 가져옵니다
$temp=fread($file,filesize($filemodel)); //템플릿 파일 HTML 코드 가져오기
방법 1: ob_get_contents()
이것은 매우 편리한 방법이자 매우 일반적인 방법입니다. 구현 원칙은 먼저 캐시를 연 다음 해당 정적 페이지 파일을 만들고 캐시 콘텐츠를 쓴 다음 캐시를 지우는 것입니다.
예:
$fn=date('ymdhis').rand(1000,9999).'html';//파일명 생성
require("supply.php"); //정적 페이지를 생성하기 위해 파일을 로드합니다. 백그라운드에 ob_clean()이 있으므로 표시되지 않습니다.
$fs=fopen($fn,'w');//정적 페이지 파일 열기
fwrite($fs,ob_get_contents());//정적 파일 생성
ob_clean();//캐시 지우기
방법 2: file_get_contents();
$url= 'http://'.$_SERVER['HTTP_HOST']."/";//참고
$content=file_get_contents($url);
$fs=fopen($fn,'w');
fwrite($fs,$content);
위의 참고 사항을 설명하겠습니다. URL 대신 파일 이름만 사용하는 경우 require('header.php')와 같은 참조 파일을 사용하면 내용이 표시되지 않습니다. 표시됩니다.
방법 3: str_replace()
$temp=fread($file,filesize($filemodel));
$temp=str_replace("[title]",$title,$temp);
$temp=str_replace("[postTime]",$postTime,$temp);
$temp=str_replace("[content]",$content,$temp);
이 방법은 매우 간단한 페이지에 적합합니다('header.php'). 실제 애플리케이션에서는 정적 페이지를 생성하는 클래스를 작성할 수 있습니다.
|
사용방법
| $shtml = 새 Shtml($Url,$FileBag,$FolderName,$fileid)
| $Url: 페이지 URL 주소
| $FileBag: 폴더 태그 1은 폴더 지정을 의미합니다.
| 2는 기본 폴더(시간(년,월,일))
| $FolderRoot html 파일 저장 경로
| $FolderName은 폴더 이름을 지정합니다. $FileBag가 2이면 빈("")으로 쓸 수 있습니다.
| $fileid 정적 페이지 이름(접미사는 기본적으로 .html)
|
|
|
/* */
클래스 Shtml
{
var $message1="오류 1: Shtml 클래스를 작성하는 것이 잘못되었습니다! 이 클래스에서 두 번째 매개변수는 1 또는 2입니다!.";
var $message2="오류 2: 파일 쓰기 오류.";
함수 __construct($Url,$FileBag,$FolderRoot,$FolderName,$fileid)
{
$this->Url = $Url;
$this->FileBag = $FileBag;
$this->FileRoot = $FolderRoot;
$this->FileName = $FolderName;
$this->fileid = $fileid;
Shtml::useFolder ();
}
/***************데이터 가져오기*******************/
공개 함수 로드 콘텐츠($Folder)
{
ob_start();
require_once $this->Url;
Shtml::writehtml ($Folder,ob_get_contents());
ob_clean();
}
/**********폴더 지정*****************/
공용 함수 useFolder()
{
if($this->FileBag==1)
{
$Folder=$this->파일이름;
}
else if($this->FileBag==2)
{
$Folder=date('Ymd',time());
}
그 외
{
종료($this->message1);
}
if(!is_dir($this->FileRoot.$Folder)){ mkdir($this->FileRoot.$Folder,0700);}
Shtml::loadcontent($Folder);
}
/********** 정적 페이지 생성*****************/
공개 함수 writehtml($Folder,$cache_value)
{
$file = fopen($this->FileRoot.$Folder.'/'.$this->fileid.'.html','w ');
fwrite($file,$cache_value)
fclose($file);
}
}
$파일ID=2;
$shtml = new Shtml("http://www.jb51.net",1,"","cc",$fileid);
요약하면, 이 html 생성 프로그램 코드는 페이지 매김을 생성하지 않습니다. 기사가 많으면 기사 하나만 생성됩니다. 이를 개선하려면 여기서는 소개하지 않겠습니다. 관심 있는 친구들은 테스트하고 개선할 수 있으며, 큰 이득이 있을 것이라고 믿습니다!
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.

PHP는 특히 빠른 개발 및 동적 컨텐츠를 처리하는 데 웹 개발에 적합하지만 데이터 과학 및 엔터프라이즈 수준의 애플리케이션에는 적합하지 않습니다. Python과 비교할 때 PHP는 웹 개발에 더 많은 장점이 있지만 데이터 과학 분야에서는 Python만큼 좋지 않습니다. Java와 비교할 때 PHP는 엔터프라이즈 레벨 애플리케이션에서 더 나빠지지만 웹 개발에서는 더 유연합니다. JavaScript와 비교할 때 PHP는 백엔드 개발에서 더 간결하지만 프론트 엔드 개발에서는 JavaScript만큼 좋지 않습니다.

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.
