PHP fopen和fwrite函数实现创建html页面

思路

用fopen函数和fread函数得到模板,然后用str_replace函数替换模板标签为变量,最后用fwrite函数输出新的HTML页面

 

index.html模板页面

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 6 <title>{title}</title>
 7 <meta name="description" content="">
 8 <meta name="keywords" content="">
 9 <link href="" rel="stylesheet">
10 </head>
11 <body>
12     文章内容为:{content}
13 </body>
14 </html>

 

index.php

 1 <?php
 2 /*
 3  * 
 4  * @Authors peng--jun 
 5  * @Email   1098325951@qq.com
 6  * @Date    2015-10-04 01:27:23
 7  * @Link    http://www.cnblogs.com/xs-yqz/
 8  * @version $Id$
 9  思路
10 用fopen函数和fread函数得到模板,然后用str_replace函数替换模板标签为变量,最后用fwrite函数输出新的HTML页面
11  ==========================================
12  */
13  header("Content-type: text/html; charset=UTF-8"); 
14  $conn=mysql_connect('localhost','root','');  
15  $db=mysql_select_db('minda',$conn);  
16  mysql_query('set names utf8');  
17  $sql="select * from notice";  
18  $query=mysql_query($sql);  
19  
20 //print_r($arr);  
21  while($arr=mysql_fetch_array($query))  
22  {  
23      $title=$arr['title'];  
24      $content=$arr['content'];  
25      $file="index.html";  
26      $neirong=$arr['id'].".html";  
27      //fopen函数和fread函数得到的模板
28      $fp=fopen($file,'r')or die("文件打开失败");//fopen参数有两个,第一个是要被打开文件的URL,第二个是打开方式
29      $ht=fread($fp,filesize($file));//读取文件的所有内容  $ht=fread($fp,100);//表示从文件中读取前100个字节
30      //用str_replace函数替换模板标签为变量
31      $str=str_replace('{title}',$title,$ht);//将$ht中全部的{title}都被$title替换之后的结果,赋值给变量str
32      $str=str_replace('{content}',$content,$str); //将上面$str中全部的{content}都被$content替换之后的结果,赋值给变量$str
33      fclose($file);
34      //用fwrite函数输出新的HTML页面  
35      $file_new=fopen($neirong,'w');  //选定指定的模版
36      $write=fwrite($file_new,$str);  //将内容写入到指定的文件夹中
37  }  
38 
39 
40 
41 /*fgets()读取方式===从文件资源中一行一行的读取文件内容
42 $handle = fopen("jun.txt", "r") or die("文件打开失败");
43 while (!feof($handle)) {
44     # code...
45     $buffer = fgets($handle,4096);
46     echo "<b>".$buffer."</b><br>";
47 }
48 fclose($handle);
49 */
50 
51 /* readfile()读取方式
52 readfile("jun.txt");*/
53 
54 /*fread()读取方式
55 $handle = fopen("jun.txt", "r") or die("文件打开失败");
56 $txt = fread($handle, filesize("jun.txt"));
57 fclose($handle);
58 echo $txt;
59 */
60 
61 
62 
63 /*fwrite(handle, string)写入文件
64 $fileName = "jun1.txt";
65 $handle = fopen($fileName, 'w')or die('打开<b>'.$fileName.'</b>文件失败!!');
66 
67 for ($row=0; $row < 10; $row++) { 
68     fwrite($handle, $row.":这是写入的文件内容\n");
69 }
70 fclose($handle);
71 */
72 
73 /*file_put_contents(filename, data)快速写入文件
74 $fileName = "jun1.txt";
75 $data = "共有10条数据\n";
76 for ($row=0; $row < 10; $row++) { 
77     $data.=$row.":写入的文件内容\n";
78 }
79 file_put_contents($fileName, $data);
80 */
81 
82  ?>

 

posted @ 2015-10-04 15:46  小军的代码库  阅读(599)  评论(0编辑  收藏  举报