This article mainly shares with you how to implement batch generation of HTML static pages in PHP, which is useful for those who have not yet understood the template engine or have not been exposed to the framework. Students who, like me, follow the principles of laziness and productivity, hope to reduce repetitive boring work and avoid unnecessary waste of time.
Principle: The use of str_replace replacement function in PHP,
First requires a database, I call him newsdata. and a table: (news) as shown below:
One thing to mention, the type of the news content and the html path mentioned later is set to TEXT. MEMO will be displayed in MySQL-Front, which does not affect the call. To view the content, click below and a pop-up will appear. Use a hexadecimal editor to view the content
Then you can create a connect.php to connect to the database. The advantage is that it can be directly referenced (require_once) in the future. ok, you can also write directly in the php file
Then there is the template file (model.html), because we only need to call the data and change the content we want to change. ok, other things like navigation, footer, left and right backgrounds remain unchanged. I’m going to implement it in the simplest way. (Damn, I’m so lazy!) Once you understand it, of course it can be extended. Write a cool and domineering template like the one I wrote [manual funny]. Where to replace, enclose it in curly braces. Just open the whole thing.
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>{news_title}</title></head><body> 新闻标题:{news_title}//调用 新闻内容:{news_contents}//调用</body></html>
By the way, simply write a release form (modelform.html) and submit it to the main add.php file
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>modelform</title></head><body> <form method="post" action="add.php"> 新闻标题:<input type="text" name="news_title" id=""><br/> 新闻内容:<textarea name="news_contents" cols="50" rows="10"></textarea><br/> <input type="submit" value="发布"> </form></body></html>
The next step is the key add .php
<?php header("content-type:text/html;charset=utf-8");//引用连接数据库文件require_once("connect.php");//获取表单数据$title=$_POST["news_title"];$content=$_POST["news_contents"];//建一个txt,值自增,用作命名$countFile="count.txt";//文件不存在则创建if (!file_exists($countFile)) { fopen($countFile,"wb"); }$handle=fopen($countFile,"rb");$num=fgets($handle,20);//每次增加1$num=$num+1;fclose($handle);//更新$num$handle=fopen($countFile,"wb");fwrite($handle,$num);fclose($handle);//获取html路径,可自定义$extend=".html";$path="news".$num.$extend;//插入数据$sql="INSERT news(news_title,news_contents,news_path) VALUES('".$title."','".$content."','".$path."');";$conn->query($sql);/**---开始替换---**///打开html模板$handle=fopen("model.html","rb");//读取模板内容$str=fread($handle,filesize("model.html"));//替换 str_replace("被替换的","替换成","在哪替换")//为什么在$str里替换?因为上面我们才读取的模板内容,肯定在模板里换撒$str=str_replace("{news_title}", $title, $str);$str=str_replace("{news_contents}",$content,$str);fclose($handle);//把替换的内容写进生成的html文件$handle=fopen($path,"wb");fwrite($handle,$str);fclose($handle);
OK!
“in case I don’t see you,Simple implementation of batch generation of html static pages in PHP Hello everyone, I am Yangrl.good afternoon, good evening, and good night!——"The Truman Show""
It turns out that I made a bunch of mistakes (silly and cute). After writing the page, I copied ten copies and changed the text, imp, url and other contents inside to make ten pages (similar to news details page, product details page, etc. ) In fact, the overall framework has not changed, but the content has changed
“Are you willing to be a Shar-Pei who only repeats boring tasks? ”
It is used for students who have not yet understood the template engine or have not been exposed to the framework. They follow the principles of laziness and productivity like me, hoping to reduce repetitive boring work and avoid unnecessary waste of time.
Principle: str_replace in PHP To use the replacement function,
# #One thing to note, if the type of the news content and the html path mentioned later is set to TEXT, MEMO will be displayed in MySQL-Front, which will not affect the call. To view the content, click below and a hexadecimal editor will pop up to view the content.
Then you can create a connect.php to connect to the database. The advantage is that it will be ok to directly reference (require_once) in the future, or you can write it directly in the php file.<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>{news_title}</title></head><body> 新闻标题:{news_title}//调用 新闻内容:{news_contents}//调用</body></html>
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>modelform</title></head><body> <form method="post" action="add.php"> 新闻标题:<input type="text" name="news_title" id=""><br/> 新闻内容:<textarea name="news_contents" cols="50" rows="10"></textarea><br/> <input type="submit" value="发布"> </form></body></html>
<?php header("content-type:text/html;charset=utf-8");//引用连接数据库文件require_once("connect.php");//获取表单数据$title=$_POST["news_title"];$content=$_POST["news_contents"];//建一个txt,值自增,用作命名$countFile="count.txt";//文件不存在则创建if (!file_exists($countFile)) { fopen($countFile,"wb"); }$handle=fopen($countFile,"rb");$num=fgets($handle,20);//每次增加1$num=$num+1;fclose($handle);//更新$num$handle=fopen($countFile,"wb");fwrite($handle,$num);fclose($handle);//获取html路径,可自定义$extend=".html";$path="news".$num.$extend;//插入数据$sql="INSERT news(news_title,news_contents,news_path) VALUES('".$title."','".$content."','".$path."');";$conn->query($sql);/**---开始替换---**///打开html模板$handle=fopen("model.html","rb");//读取模板内容$str=fread($handle,filesize("model.html"));//替换 str_replace("被替换的","替换成","在哪替换")//为什么在$str里替换?因为上面我们才读取的模板内容,肯定在模板里换撒$str=str_replace("{news_title}", $title, $str);$str=str_replace("{news_contents}",$content,$str);fclose($handle);//把替换的内容写进生成的html文件$handle=fopen($path,"wb");fwrite($handle,$str);fclose($handle);
Related recommendations:
Introduction to the method of adding a submit link to a button in an html static page
PHP generates HTML static page example code
PHP generates HTML static page example code_PHP tutorial
The above is the detailed content of PHP implements batch generation of html static pages. For more information, please follow other related articles on the PHP Chinese website!