zoukankan      html  css  js  c++  java
  • 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.":这是写入的文件内容
    ");
    69 }
    70 fclose($handle);
    71 */
    72 
    73 /*file_put_contents(filename, data)快速写入文件
    74 $fileName = "jun1.txt";
    75 $data = "共有10条数据
    ";
    76 for ($row=0; $row < 10; $row++) { 
    77     $data.=$row.":写入的文件内容
    ";
    78 }
    79 file_put_contents($fileName, $data);
    80 */
    81 
    82  ?>
  • 相关阅读:
    (dfs)codeforces 767C
    配置vscode c/c++像sublime那样按Ctrl+shift+B编译直接运行
    (JAVA)使用swing组件模仿QQ界面+网络编程实现QQ消息传输
    (dp)hihocoder
    (暴力+精度)hihocoder
    区域赛43天
    区域赛第33天
    区域赛41天
    最小和最大表示法
    HDU 6166 二进制划分集合
  • 原文地址:https://www.cnblogs.com/xs-yqz/p/4854618.html
Copyright © 2011-2022 走看看