Home >php教程 >php手册 >The principle of using PHP to generate static HTML documents,

The principle of using PHP to generate static HTML documents,

WBOY
WBOYOriginal
2016-07-06 14:24:59925browse

The principle of using PHP to generate static HTML documents,


Using PHP to generate a single HTML document from the article data in the database. First of all, it is beneficial to search engine inclusion. Secondly, it is safer to avoid exposing fields in the database to the address bar.
Give the code:

<?<span>php
</span><span>//</span><span>引入数据库配置文件</span>
<span>include</span>( <span>dirname</span>(<span>dirname</span>(<span>__FILE__</span>))."\include\config.php"<span> );

</span><span>/*</span><span>*
 * 
 * 将数据库中的文章生成单个HTML文件.
 * @param Date $Date
 * @param Time $Time
 * @param String $Content
 * @param String $Title
 </span><span>*/</span>
<span>function</span> GenerateHTML(<span>$Date</span>,<span>$Time</span>,<span>$Content</span>,<span>$Title</span>,<span>$Name</span><span>){

</span><span>//</span><span>将日期、时间变量分解成数组</span>
<span>$GetDateRow</span> = <span>explode</span>("-", <span>$Date</span><span>);
</span><span>$GetTimeRow</span> = <span>explode</span>(":",<span>$Time</span><span>);

</span><span>//</span><span>得到文件的名字。比如:20121028210632.html</span>
<span>$FileName</span> = <span>$GetDateRow</span>[0].<span>$GetDateRow</span>[1].<span>$GetDateRow</span>[2].<span>$GetTimeRow</span>[0].<span>$GetTimeRow</span>[1].<span>$GetTimeRow</span>[2].".html"<span>;

</span><span>//</span><span>打开并读取模板内容</span>
<span>$FP</span> = <span>fopen</span>("tmp.html","r"<span>);
</span><span>$Str</span> = <span>fread</span>(<span>$FP</span>,<span>filesize</span>("tmp.html"<span>));

</span><span>//</span><span>得到替换后的模板内容</span>
<span>$Str</span> = <span>str_replace</span>("{Title}",<span>$Title</span>, <span>$Str</span><span>);
</span><span>$Str</span> = <span>str_replace</span>("{Content}", <span>$Content</span>, <span>$Str</span><span>);
</span><span>$Str</span> = <span>str_replace</span>("{Name}", <span>$Name</span>, <span>$Str</span><span>);
</span><span>$Str</span> = <span>str_replace</span>("{Date}", <span>$Date</span>,<span>$Str</span><span>);
</span><span>$Str</span> = <span>str_replace</span>("{Time}", <span>$Time</span>, <span>$Str</span><span>);

</span><span>//</span><span>关闭文件,减少服务器的压力。</span>
<span>fclose</span>(<span>$FP</span><span>);

</span><span>//</span><span>将内容写入HTML文件</span>
<span>$Handle</span> = <span>fopen</span>(<span>$FileName</span>,"w"<span>);
</span><span>fwrite</span>(<span>$Handle</span>,<span>$Str</span><span>);
</span><span>fclose</span>(<span>$Handle</span><span>);

</span><span>//</span><span>小测一下
//echo "ok,done!";</span>
<span>
}

</span><span>//</span><span>数据库的操作</span>
<span>$querysql</span> = "select * from article"<span>;
</span><span>$queryset</span> = <span>mysql_query</span>(<span>$querysql</span><span>);

</span><span>//</span><span>循环生成HTML文件。</span>
<span>while</span>( <span>$row</span> = <span>mysql_fetch_array</span>(<span>$queryset</span><span>) ){
    GenerateHTML(</span><span>$row</span>['date'],<span>$row</span>['time'],<span>$row</span>['content'],<span>$row</span>['title'],<span>$row</span>['name'<span>]);
}</span>

OK, DONE!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn