现在的动态网站存在很多性能上的弊端,seo优化会存在一定的瓶颈,现在将动态的网站代码转换为html静态文件,是浏览器通过html间接的读取动态网站源文件,这对其网站加载速度还是seo优化有着举足轻重的作用。

本文将介绍Php 生成静态html文件的三种方法 。

1,下面使用模版的一个方法!

  1. <?php
  2. $fp = fopen ("templets.html","a");
  3. if ($fp){
  4. $fup = fread ($fp,filesize("templets.html"));
  5. $fp2 = fopen ("html.shtml","w");
  6. if ($fwrite ($fp2,$fup)){
  7. $fclose ($fp);
  8. $fcolse ($fp2);
  9. die ("写入模板成功");
  10. } else {
  11. fclose ($fp);
  12. die ("写入模板失败!");
  13. }
  14. }
  15. ?>
  1. 简单的将模板写进一个文件中存为html.html
  2.  
  3. 2,按时间生成html文件名
  1. <?
  2. $content = "这是一个以日期时间为文件名的静态生成网页的测试文件,
  3. 文件名格式一般为<font color=#ff0000>年月日时分秒.html</font>";
  4. $date = date('YmdHis');
  5. $fp = fopen (date('YmdHis') . '.html',"w");
  6. //本函数可用来打开本地或者远端的文件 'w' 开文件方式为写入,
  7. 文件指针指到开始处,并将原文件的长度设为 0。若文件不存在,
  8. 则建立新文件。
  9. if (fwrite ($fp,$content)){
  10. //格式是.int fwrite(int fp(文件名), string string(内容),
  11. int [length](长度));本函数将字符串 string 写入文件资料流的指针 fp 上。
  12. 若有指定长度 length,则会写入指定长度字符串,或是写到字符串结束。
  13. fclose ($fp);//函数用来关闭已经打开的文件的指针 fp。
  14. 成功返回 true,失败则返回 false
  15. die ("写入模板成功");
  16. } else {
  17. fclose ($fp);
  18. die ("写入模板失败!");
  19. }
  20. echo ($content);
  21. ?>

3,下面为转换文件名的一个方法

  1. <?php
  2. $s_fname = "93e.php";
  3. $o_fname = "93e.htm";
  4. ob_end_clean();
  5. ob_start();
  6. include($s_fname);
  7. $length = ob_get_length();
  8. $buffer = ob_get_contents();
  9. $buffer = eregi_replace("r","",$buffer);
  10. ob_end_clean();
  11.  
  12. $fp = fopen($o_fname,"w+");
  13. fwrite($fp,$buffer);
  14. fclose($fp);
  15. ?>

这样就可以把 93e.php转化为静态的HTML文件了 。要注意的是待转换的文件里不能有 ob_end_clean();和 ob_start();语句,且目录要有写权限。

php生成html静态文件的更多相关文章

  1. ASP.NET Core Razor生成Html静态文件

    一.前言 最近做项目的时候,使用Util进行开发,使用Razor写前端页面.初次使用感觉还是不大习惯,之前都是前后端分离的方式开发的,但是使用Util封装后的Angular后,感觉开发效率还是杠杠滴. ...

  2. Java 读取模板并生成HTML静态文件实例

    原理都很简单,主要是对模板的解析.so,我们先准备一个html模板mb.html,做个文件其中的###title###之类的标签用于程序进行查询替换. HTML code复制代码 <html&g ...

  3. c#生成html静态文件时出现空白行,怎么去掉utf-8中的bom

    public static void UTF8RemoveBOM(string filepath) { UTF8RemoveBOM(filepath, filepath); }   public st ...

  4. 用include()和ob_get_contents( )方法 生成静态文件

    1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...

  5. django源码分析——静态文件staticfiles中间件

    本文环境python3.5.2,django1.10.x系列 1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化,然后调用相应的设置方 ...

  6. php生成静态文件

    1,通用生成方法 //获取文件内容 $content=file_get_contents("http://www.google.com/" ); $id=110; $filenam ...

  7. ASP专栏——ASP生成静态文件(用于大量文章)

    对于Web开发人员来说,生成静态文件这个概念并不陌生. 对于Web开发来说,如何能避免客户端访问时不停的查询数据库?现在比较常用的有两种方法,一种是使用缓存技术,将查询出来的结果缓存至缓存框架中,以后 ...

  8. phpcms V9 修改生成静态文件路径/html

    在论坛看到部分用户反馈这个问题,要修改的其实是html_root的值,默认是"/html"如果要生成在网站根目录的话,这个值则要为空.论坛上现在看到的办法是打开caches\con ...

  9. [js高手之路]Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件

    接着这篇文章[js高手之路]Node.js+jade抓取博客所有文章生成静态html文件继续,在这篇文章中实现了采集与静态文件的生成,在实际的采集项目中, 应该是先入库再选择性的生成静态文件.那么我选 ...

随机推荐

  1. 查看系统中安装了那些dotnet core 的SDK和运行时的命令

    原文:查看系统中安装了那些dotnet core 的SDK和运行时的命令 1.查看SDK dotnet --list-sdks 2.查看运行时 dotnet --list-runtimes 效果如下图 ...

  2. go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2]

    go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...

  3. android module 模块共用远程包

    在项目有多模块,需要使用到同一个第三方包时,引入报错,个人解决方法如下 1. 在模块build.gradle 文件中配置maven远程地址 可从app下的build.gradle文件里复制 allpr ...

  4. FMXUI - UI.Dialog 示例(比较漂亮)

    在 FMXUI 开源库,增加了 UI.Dialog 单元.此单元实现了跨平台的基础对话框组件.使用时引用 UI.Dialog 即可.如果需要自定义对话框的样式, 可以添加一个 TDialogStyle ...

  5. AvalonDock的基本用法

    原文:AvalonDock的基本用法         AvalonDock是优秀的开源项目,用于创建可停靠式布局,能够在WPF中方便开发出类似VS2010的软件界面.对于复杂的软件系统,大量控件的使用 ...

  6. Redis (一)Redis简介、安装部署

    Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案. 既然是key-value,对于Java开发来说更熟悉的是Map集合.那就有问题了,有M ...

  7. ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Razor 布局视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Razor 布局视图 上一章节中我们学习了如何使用 EF ...

  8. WPF中的Application类。

    原文:WPF中的Application类. Application对象用的名称空间是system.windows 1.手动创建Application对象步骤. 1.1).把项目中的App.Xaml文件 ...

  9. dotnet pack 打包文件版本号引起 "Could not load file or assembly" 问题

    如果不是遇到,真的不会想到,代码世界的问题真是千奇百怪,这次遇到的是 dotnet pack 打包文件版本号引起的问题. 之前进行 nuget 打包都是在 Visual Studio build 时进 ...

  10. WPF ObjectDataProvider的使用-只能检索用

    <Window x:Class="CollectionBinding.MainWindow"        xmlns="http://schemas.micros ...