php生成静态页面
2015-08-25 20:14
627 查看
下面演示下如何使用php生成.shtml静态页面
采用pdo链接数据库,将cm_contribution表中的文章全部生成.shtml文件,主要用到的函数有:
ob_start(); ob_get_clean(); ob_end_clean();
采用pdo链接数据库,将cm_contribution表中的文章全部生成.shtml文件,主要用到的函数有:
ob_start(); ob_get_clean(); ob_end_clean();
<?php /** * 查询cm_contribution表 讲表内的文章生成静态页面 */ header('Content-type:text/html;charset=utf8'); try{ $dsn = "mysql:host=localhost;dbname=cm;charset=utf8"; $pdo = new PDO($dsn,'root',''); $pdo->setAttribute(3,2); }catch(PDOException $e){ echo $e->getMessage(); } try{ $sql = "select `contributionid` from cm_contribution"; $re = $pdo->query($sql); foreach($re as $v){ //开启缓冲 ob_start(); $sql = "select `title`,`content`,`author`,`created` from cm_contribution where contributionid = {$v['contributionid']}"; $stmt = $pdo->query($sql); $stmt = $stmt->fetch(); $stmt['created'] = date('Y-m-d H:i:s',$stmt['created']); $str = <<<EOF <html> <head> <meta charset = "utf-8"/> <title>{$stmt['title']}_文章</title> </head> <body> <h3>{$stmt['title']}</h3><br/> <h3>{$stmt['created']}</h3><br/> <p>{$stmt['author']}</p><br/> <p>{$stmt['content']}</p> </body> </html> EOF; echo $str; //得到当前缓冲区的内容并删除当前输出缓冲区。 $out = ob_get_clean(); if($out){ $filename = './articles/article_'.$v['contributionid'].'.shtml'; file_put_contents($filename,$out); echo "生成成功"; }else{ echo "静态化失败"; } //清空(擦除)缓冲区并关闭输出缓冲 ob_end_clean(); } }catch(PDOException $e){ echo $e->getMessage(); } ?>结果如图所示,打开为详情页静态页面
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- 我是运营,我没有假期
- MySQL 优化
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- Google排名优化的几个影响因素
- DB2数据库的安装
- DB2优化(简易版)
- C#实现把指定数据写入串口
- Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架
- “传奇”图象数据存储方式
- C#中尾递归的使用、优化及编译器优化
- 优化Ruby脚本效率实例分享
- 修复mysql数据库