思路

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

index.html模板页面

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{title}</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
</head>
<body>
文章内容为:{content}
</body>
</html>

index.php

 <?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-10-04 01:27:23
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
思路
用fopen函数和fread函数得到模板,然后用str_replace函数替换模板标签为变量,最后用fwrite函数输出新的HTML页面
==========================================
*/
header("Content-type: text/html; charset=UTF-8");
$conn=mysql_connect('localhost','root','');
$db=mysql_select_db('minda',$conn);
mysql_query('set names utf8');
$sql="select * from notice";
$query=mysql_query($sql); //print_r($arr);
while($arr=mysql_fetch_array($query))
{
$title=$arr['title'];
$content=$arr['content'];
$file="index.html";
$neirong=$arr['id'].".html";
//fopen函数和fread函数得到的模板
$fp=fopen($file,'r')or die("文件打开失败");//fopen参数有两个,第一个是要被打开文件的URL,第二个是打开方式
$ht=fread($fp,filesize($file));//读取文件的所有内容 $ht=fread($fp,100);//表示从文件中读取前100个字节
//用str_replace函数替换模板标签为变量
$str=str_replace('{title}',$title,$ht);//将$ht中全部的{title}都被$title替换之后的结果,赋值给变量str
$str=str_replace('{content}',$content,$str); //将上面$str中全部的{content}都被$content替换之后的结果,赋值给变量$str
fclose($file);
//用fwrite函数输出新的HTML页面
$file_new=fopen($neirong,'w'); //选定指定的模版
$write=fwrite($file_new,$str); //将内容写入到指定的文件夹中
} /*fgets()读取方式===从文件资源中一行一行的读取文件内容
$handle = fopen("jun.txt", "r") or die("文件打开失败");
while (!feof($handle)) {
# code...
$buffer = fgets($handle,4096);
echo "<b>".$buffer."</b><br>";
}
fclose($handle);
*/ /* readfile()读取方式
readfile("jun.txt");*/ /*fread()读取方式
$handle = fopen("jun.txt", "r") or die("文件打开失败");
$txt = fread($handle, filesize("jun.txt"));
fclose($handle);
echo $txt;
*/ /*fwrite(handle, string)写入文件
$fileName = "jun1.txt";
$handle = fopen($fileName, 'w')or die('打开<b>'.$fileName.'</b>文件失败!!'); for ($row=0; $row < 10; $row++) {
fwrite($handle, $row.":这是写入的文件内容\n");
}
fclose($handle);
*/ /*file_put_contents(filename, data)快速写入文件
$fileName = "jun1.txt";
$data = "共有10条数据\n";
for ($row=0; $row < 10; $row++) {
$data.=$row.":写入的文件内容\n";
}
file_put_contents($fileName, $data);
*/ ?>

PHP fopen和fwrite函数实现创建html页面的更多相关文章

  1. C语言中access、_mkdir、sprintf、 fopen、fwrite函数

    int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-. 这个函数还可以检查其它文件属 ...

  2. BBS项目详解(forms快速创建登陆页面,登陆验证、通过阅读器进行头像上传的预览、内存管理器)

    BBS项目涉及的知识点 django中知识点 钩子函数(局部钩子和全局钩子) 1.局部钩子就是用来做合法性校验,比如用户名有没有被使用等 2.全局的就是用来做对比校验,比如两次输入的密码是否一致 3. ...

  3. fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结

    转载自:http://blog.csdn.net/xidianzhimeng/article/details/23541289 1 fopen 函数原型:FILE * fopen(const char ...

  4. fopen()、fwrite()、fread()函数使用说明与示例

    fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针. 2.函数原型: FILE * fopen(const char * path,const  ...

  5. fopen\fread\fwrite\fseed函数的使用

    使用 <stdio.h> 头文件中的 fopen() 函数即可打开文件,它的用法为: FILE *fopen(char *filename, char *mode); filename为文 ...

  6. fopen函数和fread函数、fwrite函数

    fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...

  7. PHP fwrite() 函数与 file_put_contents() 函数的比较

    两个 PHP 函数都可以把字符串保存到文件中,fwrite() 函数的格式是: int fwrite ( resource handle , string string [ , int length] ...

  8. fread 和 fwrite 函数用法示例以及注意事项

    1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,size,count,fp);   fwrite(buffer,size,count,fp); 3.说明   ( ...

  9. PHP fwrite 函数:将字符串写入文件(追加与换行)(转)

    PHP fwrite() fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE . 语法: int fwrite( resource handle, string s ...

随机推荐

  1. asp.net生成缩略图、文字图片水印

    /// <summary> /// 会产生graphics异常的PixelFormat /// </summary> private static PixelFormat[] ...

  2. Import MySQL Dumpfile, SQL Datafile Into My Database

    How can I import a MySQL dumpfile into my database? I'm using CentOS Linux 5 server. My old hosting ...

  3. zepto 获取select选中的值

    jQuery中典型的方法: $('option[selected]') 不管用,因为selected并不是CSS标准.   因此,在zepto中想要获取select元素中选中的option,需采取如下 ...

  4. hdu1867A + B for you again

    Problem Description Generally speaking, there are a lot of problems about strings processing. Now yo ...

  5. [Linked List]Reverse Nodes in k-Group

    Total Accepted: 48614 Total Submissions: 185356 Difficulty: Hard Given a linked list, reverse the no ...

  6. hdu 4710 Balls Rearrangement

    题意就不说了,刚开始做我竟然傻傻地去模拟,智商捉急啊~~超时是肯定的 求出 a ,b 的最小公倍数,因为n够长的话,就会出现循环,所以就不要再做不必要的计算了.如果最小公倍数大于n的话,就直接计算n吧 ...

  7. eclipse 使用maven 创建纯spring mvc项目

    接着eclipse 使用maven 创建web3.1项目 创建完成后, 讲spring mvc加入到项目中 先修改pom.xml文件 注意红色字部分 <project xmlns="h ...

  8. 兼容IE6,IE7和firefox可以使用的一些css hack:

    .一些问题是浏览器自身的问题,遇到问题发生无法避免的情况下,那就要考虑使用一些css hack了,以下是针对IE6,IE7和firefox可以使用的一些css hack:(1) a: 针对区别IE6 ...

  9. License制作

    最近,部门的产品要做license,于是上网查了一些通用软件的License做法,拿过来学习一下. 一个老外写的,很好,几乎完全涵盖了软件License的制作流程 http://afewguyscod ...

  10. 用ATL和MFC来创建ActiveX控件

    摘要:目前MFC和ATL代表了两种框架,分别面向不同类型的基于Windows的开发.MFC代表了创建独立的Windows应用的一种简单.一致的方法:ATL提供了一种框架来实现创建COM客户机和服务器所 ...