不知道在Yii中有没有自动生成静态HTML文件的方法。这在大型门户网站内容发布中经常使用到。如果没有,建议qiang整合之,有很好的价值,比缓存还好使一些。如果有,请告示如何使用。
静态文件生成,一般通常有两种机制,一种是后台触发生成,一种是前台访问,如果没有则调用静态文件生成。这些生成的文件最好可以存储在指定的Apache文件目录或者Nginx服务目录下,使之可以用纯HTML格式访问,而无需通过PHP解释执行。
另外如果实现图片服务器分离,需要把图片传输到远程指定服务器上,不清楚有无解决方案
PHP Yii 中文群 群号:38352603中离家出走大侠的贡献方案,不过离家说比较山寨,但总比没有强,供参考和讨论,提供更多场景供qiang完善。
/**
* 生成一个html文件
* @param Book $book
* @param Chapter $chapter
* @return void
*/
public static function createHtml($book, $chapter)
{
$webAppPath = Yii::app()->params['webAppPath'];
$suffix = Yii::app()->params['staticSuffix'];
$typeId = IFileHelper::selfType($book->bookid);
$htmlFile = $webAppPath . 'read' . DS . $typeId . DS . $book->bookid . DS . $chapter->chapterid . $suffix;
$readTemplateFile = $webAppPath . 'themes' . DS . 'web' . DS . 'views' . DS . 'book' . DS . 'read.php';
if ($chapter->prevChapter($chapter->chapterid, $chapter->bookid))
{
$prevUrl = '/read/' . $typeId . '/' . $book->bookid . '/' . $chapter->prevChapter($chapter->chapterid, $chapter->bookid)->chapterid . $suffix;
}
if ($chapter->nextChapter($chapter->chapterid, $chapter->bookid))
{
$nextUrl = '/read/' . $typeId . '/' . $book->bookid . '/' . $chapter->nextChapter($chapter->chapterid, $chapter->bookid)->chapterid . $suffix;
}
$enterUrl = '/chapter/' . $book->bookid . $suffix;
$homeUrl = '/';
$showUrl = '/show/' . $book->bookid . $suffix;
$chapterUrl = '/chapter/' . $book->bookid . $suffix;
$chapterContent = $chapter->content;
ob_start();
include($readTemplateFile);
$content = ob_get_clean();
IFileHelper::createFile($htmlFile, $content);
}
分享到:
相关推荐
ASP生成静态Html文件 ASP生成静态Html文件 方法1
Django添加静态文件有两种方法: 首先setting.py配置文件中添加静态文件的路径: STATICFILES_DIRS = [ os.path.join(BASE_DIR, “statics”),] statices为你所建立的存放静态文件的文件夹名 然后进行引用。 1、...
由于build后的vue项目基本已经看不出原样,因此需要创建一个文件,并在打包的时候不会进行编译。 vue-cli 2.0的作法是在static文件下创建js。vue-cli 3.0 的写法则是直接在public文件夹下创建js、 具体操作如下: 1...
方法名(参数)}”这种格式来调用Java类的静态方法。 开发环境:IntelliJ IDEA 2019.2.2 Spring Boot版本:2.1.8 新建一个名称为demo的Spring Boot项目。 1、pom.xml 加入Thymeleaf依赖 <groupId>org.spring...
ASP生成静态Html文件-方法2 ASP生成静态Html文件-方法2
将动态的数据页面生成特定名称指定目录下的html等其他类型的静态页面
ASP生成静态Html文件技术,里面用到的几个方法,值得参考
一个 自己 写的 jar 包,含有 Java 调用 Liunx 的静态类;文件的创建,读取,上传的静态类,和筛选目录下文件的静态类,包括源代码。
把jsp、文件生成Html静态文件 内附有代码 不懂可以留言
主要介绍了html静态页面调用php文件的方法,在进行应用程序开发过程中非常具有实用价值,需要的朋友可以参考下
分析了php中静态类与静态变量用法类的区别,创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。直接调用类方法量:class::attribute/function,无论是静态/...
properties文件获取工具类:静态加载properties配置文件,有根据key获取值的方法
静态类是一种声明为 static 类型的 且仅包含静态成员的类 不能使用 new 关键字创建静态类的实例 静态类在加载包含该类的程序或命名空间时由 NET Framework 公共语言运行库 CLR 自动加载 静态类和类成员用于创建无需...
PHP静态文件生成类 使用方法如下: <?php $s=new CreateHtml(); $s->start(); ?> <html> <body> asdfasdfasdfasdfasdfasdfasdfasdfasdf adfasdfasdf ...
php生成静态文件 php生成html文件 使用ob技术
javascript实现动态导入js与css等静态资源文件的方法.docx
.NET生成静态文件(HTML)的三种方法
本篇文章主要介绍了防止SpringMVC拦截器拦截js等静态资源文件的解决方法,具有一定的参考价值,有兴趣的同学可以了解一下
ASP生成html静态网页文件 v2.0 基于:ASP生成html静态网页文件 v1.1 升级版
ASP生成静态Html文件技术杂谈.pdf