Jadual Kandungan
PHP页面静态化:真静态的两种方案,php静态
%title%
php静态化页面方法,伪静态的也可以
php对于页面静态化问题
Rumah php教程 php手册 PHP页面静态化:真静态的两种方案,php静态

PHP页面静态化:真静态的两种方案,php静态

Jun 13, 2016 am 09:28 AM
statik pseudo

PHP页面静态化:真静态的两种方案,php静态

----------------------------------------------------------------------------------------------

<span>方案1:如果静态文件存在,且生成时间30秒内,直接返回静态页面(有时间延迟)<br />/*<br />|------------------<br />| <www.chenwei.ws><br />|------------------<br />*/<br /></span><span>header</span>('content-type:text/html;charset=utf-8'<span>);</span>
<span>$id</span> = <span>$_GET</span>['id'] ? <span>intval</span>(<span>$_GET</span>['id']) : ''<span>;
</span><span>if</span>(<span>$id</span> === '') <span>die</span>('请输入要查询的新闻id!'<span>);
</span><span>$html_file</span> = "news-id-".<span>$id</span>.".html"<span>;

</span><span>//1.</span><span>主要代码</span>
<span>if</span>(<span>file_exists</span>(<span>$html_file</span>) && <span>filemtime</span>(<span>$html_file</span>) + 30 >= <span>time</span><span>())
{
    </span><span>echo</span> '静态页面:'<span>;
    </span><span>echo</span> <span>file_get_contents</span>(<span>$html_file</span>);<span>exit</span><span>;
}

</span><span>//</span><span>这里也可以使用DB工具类</span>
<span>$con</span> = <span>mysql_connect</span>('localhost', 'root', '123456'<span>);
</span><span>if</span>(!<span>$con</span><span>)
{
    </span><span>die</span>('连接失败!'<span>);
}
</span><span>mysql_select_db</span>('testdb', <span>$con</span><span>);
</span><span>$sql</span> = "select * from bo_question where question_id = <span>$id</span>"<span>;
</span><span>$res</span> = <span>mysql_query</span>(<span>$sql</span>, <span>$con</span><span>);
</span><span>if</span>(<span>$row</span> = <span>mysql_fetch_assoc</span>(<span>$res</span><span>))
{
    </span><span>ob_start</span>();<span>//2.</span><span>启动ob缓存</span>
    <span>header</span>('content-type:text/html;charset=utf-8'<span>);
    </span><span>echo</span> '<head><meta http-equiv="content-type" content="text/html;charset=utf-8" /></head>'<span>;
    </span><span>echo</span> '<table>;
    </span><span>echo</span> '<tr><td>问题详细内容</td></tr>'<span>;
    </span><span>echo</span> "<tr><td>标题:{<span>$row</span>['question_title']}</td></tr>"<span>;
    </span><span>echo</span> "<tr><td>详细:{<span>$row</span>['question_detail']}</td></tr>"<span>;
    </span><span>echo</span> '</table>'<span>;
    </span><span>$ob_str</span> = <span>ob_get_contents</span><span>();
    </span><span>//3.</span><span>把ob_str保存到一个静态文件页面,取文件名有讲究:1.唯一标识该新闻 2.利于seo</span>
    <span>file_put_contents</span>("news-id-".<span>$id</span>.".html", <span>$ob_str</span><span>);<br />  <br />  //关闭数据库连接(非必须; 非长连接下,脚本执行完会自动关闭) <br />  mysql_close($con);
}</span><span>else</span><span>{
    </span><span>echo</span> '没有查询到资源!'<span>;
}</span>
Salin selepas log masuk

@黑眼诗人

Salin selepas log masuk
方案2:使用模板替换技术(没有时间延迟)<br />/*<br />|------------------<br />| <www.chenwei.ws><br />|------------------<br />*/
Salin selepas log masuk
<span>$oper</span> = <span>$_POST</span>['oper'<span>];//添加操作
</span><span>if</span>(<span>$oper</span> === 'add'<span>)
{
    </span><span>$title</span> = <span>$_POST</span>['title'<span>];
    </span><span>$content</span> = <span>$_POST</span>['content'<span>];
    
    </span><span>//</span><span>如果严格按MVC,这里应该调用model了</span>
    <span>$con</span> = <span>mysql_connect</span>('localhost', 'root', '123456'<span>);
    </span><span>if</span>(!<span>$con</span><span>)
    {
        </span><span>die</span>('连接失败!'<span>);
    }
    </span><span>mysql_select_db</span>('news', <span>$con</span><span>);
    </span><span>$sql</span> = "insert into question(null, '<span>$title</span>', '<span>$content</span>', '')"<span>;
    </span><span>if</span>(<span>mysql_query</span>(<span>$sql</span>, <span>$con</span><span>))
    {
        </span><span>//1.</span><span>生成静态文件 </span>
        <span>$id</span> = <span>mysql_insert_id</span><span>();
        </span><span>$html_filename</span> = 'news-id'.<span>$id</span>.'.html'<span>;
        </span><span>$html_fp</span> = <span>fopen</span>(<span>$html_filename</span>, 'w'<span>);
        
        </span><span>//2.</span><span>把模板文件读取(news.html)</span>
        <span>$fp</span> = <span>fopen</span>('news.tpl', 'r'<span>);
        </span><span>//</span><span>r 只读方式打开; r+ 读写方式打开; w 写入方式打开:文件内容将被清空!如果文件不存在将创建; a 以追加的方式打开
        
        //3.循环读取
        //如果没有读到文件的最后,就一直读取</span>
        <span>while</span>(!<span>feof</span>(<span>$fp</span><span>))
        {
            </span><span>//</span><span>一行行读</span>
            <span>$row</span> = <span>fgets</span>(<span>$fp</span><span>);
            </span><span>//</span><span>把占位符替换掉 => 可以自定义完整的替换规则函数</span>
            <span>$row</span> = <span>str_replace</span>('%title%', <span>$title</span>, <span>$row</span>);<span>//</span><span>如果不重新赋值$row, $row值不会改变</span>
            <span>$row</span> = <span>str_replace</span>('%content%', <span>$content</span>, <span>$row</span><span>);
            
            </span><span>fwrite</span>(<span>$html_fp</span>, <span>$row</span><span>);//4.将内容写入静态文件
        }<br />
        </span><span>//5.</span><span>文件必须关闭</span>
        <span>fclose</span>(<span>$html_fp</span><span>);
        </span><span>fclose</span>(<span>$fp</span><span>);
        
        </span><span>echo</span> "添加成功。<a href='newslist.php'>点击查看新闻!</a>"<span>;
    }
    </span><span>else</span><span>
    {
        </span><span>die</span>('添加失败!'<span>);
    }
}
</span><span>//</span><span>此时在新闻列表内,点击查看详情的链接,可以改成生成的静态页面地址,直接进入静态文件。

//news.tpl模板文件</span><span>
/*</span><span>
<html>
    <head>
        <meta charset="utf-8" />
        <title>%title%</title>
    </head>
    <body>
        <h1 id="title">%title%</h1>
        <pre class="brush:php;toolbar:false">%content%
Salin selepas log masuk
*/

---------------------------------------------------------------------------------------------

php静态化页面方法,伪静态的也可以

这里是jetee.cn中静态化会员列表部分,根据这部分代码,可以理解静态化的一些概念。

静态化函数部分
/**
* @get list member item 获得静态化模板中要替换变量的内容。
* @param str: To replace the string
* @return string
*/
function get_staticize_replace_str()
{
$replace_str=""; //replace string
$query="select member_id,email_name from member";
$result=Mysql::query($query);
while($row=Mysql::fetch_assoc($result))
{
$replace_str.="

  • ".$row["member_id"]."";
    $replace_str.="
  • ".$row["email_name"]."
    ";
    }
    return $replace_str;
    }

    /**
    * @替换静态化模板中的变量生成静态化页面。
    * @
    * @return void
    */
    function staticize_list_member()
    {
    $replace_str=$this->get_staticize_replace_str();
    $templet=fopen(TENDAO_DIR."/templets/default/list_member.html","r");
    $new_file=fopen(TENDAO_DIR."/member/list_member.html","w");
    while(!feof($templet))
    {
    $ripe=fgets($templet);
    $ripe=str_replace("{member_items}",$replace_str,$ripe);
    fwrite($new_file,$ripe);
    }

    if (file_exists(TENDAO_DIR."/member/list_member.html")) {
    Msg("静态化会员列表成功!返回主页中……",TENDAO_ROOT,0,3000);
    exit();
    } else {
    Msg("静态化会员列表没有成功!返回主页中……",TENDAO_ROOT,0,3000);
    }

    fclose($templet);
    fclose($new_file);
    }

    /**
    * @静态化模板
    * @
    ......余下全文>>
     

    php对于页面静态化问题

    方法很多啊
    在php中 用include_once 就可以了
    只是包含文件的时候注意 你分离出去的文件只有

    中的部分
    再就是看好页面样式
    好的程序员 会将很多部分分离
    这样便于统一管理
     
  • Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Mari kita bercakap tentang cara menggunakan pseudo-statik untuk menyembunyikan akhiran php Mari kita bercakap tentang cara menggunakan pseudo-statik untuk menyembunyikan akhiran php Mar 20, 2023 pm 06:46 PM

    Pseudo-statik merujuk kepada teknologi mengakses alamat URL dinamik dengan menyamar sebagai alamat statik, manakala menyembunyikan akhiran PHP adalah untuk mengubah suai konfigurasi pelayan supaya akhiran PHP tidak lagi dipaparkan semasa mengakses halaman dinamik. Kelebihan ini ialah ia boleh meningkatkan keselamatan laman web dan mengelakkan daripada retak, di samping menjadikannya lebih cantik dan meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan secara terperinci cara menggunakan pseudo-statik untuk menyembunyikan akhiran php untuk meningkatkan keselamatan dan pengalaman pengguna tapak web.

    Mengoptimumkan SEO laman web: amalan pseudo-statik menyembunyikan akhiran php Mengoptimumkan SEO laman web: amalan pseudo-statik menyembunyikan akhiran php Mar 07, 2024 pm 12:27 PM

    Seperti yang kita ketahui, mengoptimumkan SEO laman web adalah bahagian yang sangat penting dalam operasi laman web. URL lalai sistem web dinamik (seperti PHP) yang digunakan oleh banyak tapak web mempunyai sambungan (.php, .html, dll.), yang akan menjejaskan kesan SEO tapak web. Untuk meningkatkan kesan pengoptimuman tapak web, amalan biasa ialah menukar URL dinamik kepada URL statik pseudo untuk menyembunyikan nama sambungan dan meningkatkan pengalaman pengguna dan kedudukan enjin carian tapak web. Artikel ini akan mengambil "akhiran php tersembunyi pseudo-statik" sebagai tema, memperkenalkan cara untuk mencapai pengoptimuman ini dalam tapak web PHP dan

    Tingkatkan keselamatan tapak web: Peraturan pseudo-statik melaksanakan penyembunyian akhiran PHP Tingkatkan keselamatan tapak web: Peraturan pseudo-statik melaksanakan penyembunyian akhiran PHP Mar 07, 2024 am 11:33 AM

    Meningkatkan keselamatan laman web: Peraturan pseudo-statik melaksanakan penyembunyian akhiran PHP Dengan perkembangan Internet, isu keselamatan laman web telah menjadi semakin ketara, termasuk pencegahan serangan berniat jahat dan perlindungan data pengguna. Langkah yang berkesan ialah menyembunyikan akhiran PHP melalui peraturan pseudo-statik, yang membantu meningkatkan keselamatan tapak web dan melindungi privasi pengguna. Dalam mencapai matlamat ini, kita perlu menggunakan beberapa contoh kod khusus untuk menunjukkan cara mencapai penyembunyian akhiran PHP. Pertama, kita perlu memahami apa itu peraturan pseudo-statik. Pseudo-statik ialah kaedah menukar pautan laman web dinamik menjadi

    Menggunakan ThinkPHP6 untuk mencapai pseudo-statik Menggunakan ThinkPHP6 untuk mencapai pseudo-statik Jun 20, 2023 pm 11:59 PM

    Dengan perkembangan pesat Internet, pembinaan laman web telah menarik lebih banyak perhatian. Seperti yang kita semua tahu, mengoptimumkan SEO laman web boleh meningkatkan kedudukan dan trafik laman web, dan pseudo-statik adalah bahagian yang sangat diperlukan dalam pengoptimuman SEO tapak web. Dalam artikel ini, kami akan menggunakan ThinkPHP6 untuk melaksanakan pseudo-statik dan seterusnya meneroka proses pengoptimuman dan pelaksanaan pseudo-statik. Apakah pseudo-statik? Sebelum menerangkan pelaksanaan pseudo-statik, mari kita fahami dahulu apa itu pseudo-statik. Pseudo-statik ialah kaedah menulis semula alamat URL halaman web untuk memaparkannya

    Dari prinsip kepada amalan: penjelasan terperinci tentang akhiran php tersembunyi pseudo-statik Dari prinsip kepada amalan: penjelasan terperinci tentang akhiran php tersembunyi pseudo-statik Mar 07, 2024 pm 03:27 PM

    Tajuk: Dari Prinsip kepada Amalan: Penjelasan terperinci tentang akhiran PHP tersembunyi pseudo-statik Dalam pembangunan rangkaian, untuk meningkatkan keselamatan tapak web dan meningkatkan pengalaman pengguna, menyembunyikan sambungan fail dalam URL telah menjadi operasi biasa. Antaranya, menyembunyikan akhiran fail PHP adalah cara teknikal yang biasa digunakan, yang boleh meningkatkan keselamatan laman web, meningkatkan estetika laman web, dan juga bermanfaat untuk pengoptimuman enjin carian. Artikel ini akan menerangkan secara terperinci prinsip dan operasi praktikal akhiran PHP penyembunyian pseudo-statik, dan memberikan contoh kod khusus. 1. Prinsip pseudo-statik menyembunyikan akhiran PHP pseudo-statik

    Penjelasan terperinci tentang cara mematikan kod pseudo-statik dalam PHP Penjelasan terperinci tentang cara mematikan kod pseudo-statik dalam PHP Mar 24, 2024 pm 03:12 PM

    Penjelasan terperinci tentang cara untuk mematikan kod pseudo-statik dalam PHP Dengan pembangunan berterusan pembangunan laman web, kod pseudo-statik telah menjadi bahagian penting dalam mengoptimumkan pautan tapak web dan meningkatkan pengalaman pengguna. Kadangkala, kita juga perlu mematikan kod statik pseudo, mungkin untuk penyahpepijatan atau keperluan lain. Dalam artikel ini, kami akan membincangkan secara terperinci langkah demi langkah cara mematikan kod statik pseudo dalam PHP dan menyediakan contoh kod konkrit. Memahami kod pseudo-statik Mula-mula, mari kita fahami secara ringkas apa itu kod pseudo-statik. Kod pseudo-statik merujuk kepada penggunaan teknologi penulisan semula URL untuk menukar dinamik

    Petua untuk mematikan kod statik pseudo dalam PHP Petua untuk mematikan kod statik pseudo dalam PHP Mar 23, 2024 pm 03:12 PM

    Tajuk: Petua untuk mematikan kod pseudo-statik dalam PHP Kod pseudo-statik merujuk kepada teknik yang menjadikan URL yang dijana secara dinamik kelihatan seperti pautan halaman statik. Apabila membangunkan tapak web menggunakan PHP, kadangkala kita menghadapi situasi di mana kita perlu mematikan kod statik pseudo, seperti semasa fasa penyahpepijatan atau untuk menyelesaikan beberapa masalah pengalihan URL. Artikel ini akan berkongsi beberapa petua untuk mematikan kod statik pseudo dan memberikan contoh kod khusus. 1. Kaedah untuk mematikan kod pseudo-statik adalah dengan mematikan fail .htaccess dan mencari .ht dalam direktori akar tapak web.

    Melihat lebih dekat pada pseudo-statik: bagaimana untuk menyembunyikan akhiran php dengan betul Melihat lebih dekat pada pseudo-statik: bagaimana untuk menyembunyikan akhiran php dengan betul Mar 08, 2024 am 10:15 AM

    Dalam era perubahan pesat dalam teknologi rangkaian, keselamatan dan kestabilan laman web semakin menarik perhatian Antaranya, menyembunyikan rangka kerja teknikal sebenar laman web menjadi salah satu tumpuan ramai juruweb. Teknologi pseudo-statik ialah kaedah yang biasa digunakan yang boleh meningkatkan keselamatan tapak web dengan berkesan dan membantu menghalang tapak daripada diserang oleh program berniat jahat seperti perangkak. Artikel ini akan menyelidiki cara menyembunyikan akhiran php dengan betul dalam teknologi statik pseudo dan memberikan contoh kod khusus. 1. Konsep pseudo-statik, iaitu, pseudo-statik, merujuk kepada menyembunyikan laman web dalam alamat URL.

    See all articles