php教程 php手册 php中静态化生成的方法(htm页面生成)

php中静态化生成的方法(htm页面生成)

May 25, 2016 pm 04:48 PM
fopen PHP 구성

在php中原生态的生成html页面我们会用到三个函数:ob_start()、ob_get_contents()、ob_end_clean()了,然后再把获取的内容给fopen函数生成即可。

例子,利用三个函数:ob_start()、ob_get_contents()、ob_end_clean()函数

知识点:

1、ob_start函数一般主要是用来开启缓存,注意使用ob_start之前不能有任何输出,如空格、字符等。

2、ob_get_contents函数主要用来获取缓存中的内容以字符串形式返回,注意此函数必须在ob_end_clean函数之前调用,否则获取不到缓存内容。

3、ob_end_clean函数主要是清空缓存中的内容并关闭缓存,成功则返回True,失败则返回False

输出控制函数(Output Control)也就是使用和控制缓存来生成静态HTML页面,也会使用到PHP文件读写函数。

PHP生成静态页面实例代码

<?php
ob_start();
echo "<html>" . "<head>" . "<title>PHP网站静态化教程</title>" . "</head>" . "<body>欢迎访问PHP网站开发教程网www.phprm.com 本文主要介绍PHP网站页面静态化的方法</body>" . "</html>";
$out1 = ob_get_contents();
ob_end_clean();
$fp = fopen("leapsoulcn.html", "w");
if (!$fp) {
    echo "System Error";
    exit();
} else {
    fwrite($fp, $out1);
    fclose($fp);
    echo "Success";
}
?>
로그인 후 복사

例子,

利用框架模板生成最近比较火的php框架有thinkphp下面我们就以它为例子。

thinkphp提供了一个有效的生成静态页的方法,(在tp2.0的手册上有说明,3.0的手册上没有说明了,不过3.0方法还是存在的。)

$this->buildHtml('静态文件', '静态路径','模板文件');


参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项 目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)

参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。 define('HTML_PATH', './');(将静态路径义为网站根目录)


参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。


1 、在入口文件index.php文件中定义生成静态页面的文件位置,然后在个目录新建Html文件夹

define( 'HTML_PATH' , './Html' );//www.phprm.com


2 、在根目录的config文件夹中的config.php配置静态页面的类型,设为 html

'HTML_FILE_SUFFIX' = > '.html' , // 默认静态文件后缀


3 、在"Tpl / default / "目录中新建一个Index的文件夹,文件夹下面新建一个index.html的模板, 模板里面内容为:这是生成静态页例子

4 、控制器IndexAction. class .php中的代码

class IndexAction extends Action {

public function index() {

$this - > buildHtml('名称', HTML_PATH . '/', '模版', 'utf8'); //注意:这里的utf8不能写成utf-8

$this - > display();

}

}

?>

解释 :

这里的buildHtml是thinkphp内置的函数,这里的意思是:

将index的模板文件生成utf8编码格式的静态网页,该文件名为 1 .html,存在于根目录的htm文件中

该函数有 5 个参数,具体如下 :

buildHtml($htmlfile,$htmlpath,$templateFile,$charset,$contentType = 'text/html' )

参数:

$htmlfile 生成的静态文件名称

$htmlpath 生成的静态文件路径

$templateFile 指定要生成静态的模板文件

$charset 生成静态文件的编码格式

$contentType 生成静态文件的类型

<?php
// 生成静态页
class AddhtmlAction extends CommonAction {
    public function index() {
        $this->assign(&#39;abc&#39;, &#39;abc222222222&#39;);
        $pagename = &#39;123 www.phprm.com&#39;; //页面名称
        $temppath = &#39;&#39;; //显示模版路径
        //查看配置文件是否开启显示静态模版
        if (C(&#39;IS_HTML&#39;)) {
            //判断是否已经生成静态页面
            if (!is_file(HTML_PATH . &#39;/&#39; . $pagename . &#39;html&#39;)) $this->buildHtml($pagename, HTML_PATH . &#39;/&#39;, &#39;index&#39;, &#39;utf8&#39;); //注意:index为动态模版 这里的utf8不能写成utf-8
            $temppath = HTML_PATH . &#39;/&#39; . $pagename . &#39;html&#39;;
        }
        $this->display($temppath);
    }
}
?>
로그인 후 복사


文章链接:

随便收藏,请保留本文地址!

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

PHP 경고 해결 방법: fopen(): 스트림을 열지 못했습니다: 해당 파일이나 디렉터리가 없습니다. PHP 경고 해결 방법: fopen(): 스트림을 열지 못했습니다: 해당 파일이나 디렉터리가 없습니다. Aug 19, 2023 am 10:44 AM

PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory 해결 방법 PHP 개발을 사용하는 과정에서 "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"와 같은 파일 작업 문제가 종종 발생합니다.

PHP 경고 해결 방법: fopen(): X 라인의 file.php에서 SSL 작업이 실패했습니다. PHP 경고 해결 방법: fopen(): X 라인의 file.php에서 SSL 작업이 실패했습니다. Aug 25, 2023 am 09:22 AM

PHPWarning:fopen():SSLOperationfailedinfile.phponlineX 해결 방법 PHP 프로그래밍에서는 fopen 함수를 사용하여 파일이나 URL을 열고 관련 작업을 수행하는 경우가 많습니다. 그러나 fopen 함수를 사용할 때 때때로 Warning:fopen():SSLOperationfailedinfile.p와 유사한 문제가 발생할 수 있습니다.

PHP.ini 파일의 인코딩 수정 방법 해석 PHP.ini 파일의 인코딩 수정 방법 해석 Mar 27, 2024 pm 03:42 PM

PHP.ini 파일의 인코딩 수정 방법을 해석합니다. PHP.ini 파일은 해당 파일의 매개변수를 수정하여 PHP 실행 환경을 구성할 수 있습니다. 인코딩 설정 역시 매우 중요하며, 한자 처리, 웹페이지 인코딩 등에서 중요한 역할을 합니다. 이 기사에서는 PHP.ini 파일에서 인코딩 관련 구성을 수정하는 방법을 자세히 소개하고 참조용 특정 코드 예제를 제공합니다. 현재 인코딩 설정 보기: PHP.ini 파일에서 다음 두 가지 관련 매개변수를 검색할 수 있습니다.

PHP 경고 해결 방법: fopen(): 스트림을 열지 못했습니다: 권한이 거부되었습니다. PHP 경고 해결 방법: fopen(): 스트림을 열지 못했습니다: 권한이 거부되었습니다. Aug 20, 2023 pm 01:45 PM

PHPWarning:fopen():failedtoopenstream:Permissiondenied 문제 해결 방법 PHP 프로그램을 개발하는 과정에서 PHPWarning:fopen():failedtoopenstream:Permissiondenied와 같은 오류 메시지를 자주 접하게 됩니다. 이 오류는 일반적으로 잘못된 파일 또는 디렉터리 권한으로 인해 발생합니다.

Matlab에서 fopen 함수 사용 Matlab에서 fopen 함수 사용 Nov 28, 2023 am 11:03 AM

Matlab에서 fopen 함수는 파일을 열고 파일에 대한 후속 읽기 또는 쓰기 작업을 위해 파일 식별자를 반환하는 데 사용됩니다. 필요에 따라 적절한 권한 옵션을 선택하여 파일을 열고 작업이 완료되면 즉시 파일을 닫습니다. 파일을 연 후에는 시스템 리소스를 해제하는 데 더 이상 필요하지 않은 시간에 파일이 닫히는지 확인해야 합니다. 또한 파일 열기에 실패하거나 작업 오류가 발생하는 경우 오류 처리 메커니즘을 사용하여 그에 따라 처리할 수 있습니다.

파일 작업을 위해 PHP에서 fopen, fwrite 및 fclose를 사용하는 방법은 무엇입니까? 파일 작업을 위해 PHP에서 fopen, fwrite 및 fclose를 사용하는 방법은 무엇입니까? Jun 01, 2023 am 08:46 AM

PHP 개발에서는 파일 작업이 매우 일반적입니다. 정상적인 상황에서는 파일 읽기, 쓰기, 삭제 및 기타 작업을 수행해야 합니다. 그 중 fopen 함수, fread 함수를 사용하여 파일을 읽을 수 있고, fopen 함수, fwrite 함수, fclose 함수를 사용하여 파일을 쓸 수 있습니다. 이 기사에서는 PHP가 fopen, fwrite 및 fclose를 사용하여 파일 작업을 수행하는 방법을 소개합니다. 1. fopen 함수 fopen 함수는 파일을 여는 데 사용됩니다. r은 다음과 같습니다.

C 언어에서는 fopen() 함수를 사용하여 쓰기 모드로 기존 파일을 엽니다. C 언어에서는 fopen() 함수를 사용하여 쓰기 모드로 기존 파일을 엽니다. Aug 27, 2023 pm 10:33 PM

C의 fopen() 메소드는 지정된 파일을 여는 데 사용됩니다. 문제 구문 FILE*fopen(filename,mode)을 이해하기 위해 예를 들어 보겠습니다. 다음은 fopen()을 사용하여 파일을 여는 데 유효한 모드입니다: 'r', 'w', 'a', 'r+', 'w+ ', 'a+'. 자세한 내용은 C 라이브러리 함수 fopen()을 참조하세요.

PHP 시간대 구성 오류가 발생하면 어떻게 해야 합니까? PHP 시간대 구성 오류가 발생하면 어떻게 해야 합니까? Mar 21, 2024 am 08:57 AM

PHP 시간대 구성 오류는 일반적인 문제입니다. 날짜 및 시간 관련 기능이 PHP 코드에 포함된 경우 시간대를 올바르게 구성하는 것이 매우 중요합니다. 시간대 구성이 올바르지 않으면 날짜 및 시간 표시가 부정확해지거나 다른 문제가 발생할 수 있습니다. PHP 시간대 구성 오류를 해결하려면 date_default_timezone_set() 함수를 설정하여 올바른 시간대를 지정해야 합니다. 구체적인 코드 예시는 다음과 같습니다.

See all articles