求php静态网页生成方案

发布于 2022-09-04 01:02:22 字数 40 浏览 22 评论 0

我想在网站中加个导出静态网页的功能,有什么好的方案可以快速导出呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

心欲静而疯不止 2022-09-11 01:02:22

不是有个file_put_content()的函数吗?

清泪尽 2022-09-11 01:02:22

需要用到ob_start() 系列方法,

用curl file_get_contentS 等模拟请求,都将非常低效,各种框架都用ob实现

手机端打码字难,不详说了

漫漫岁月 2022-09-11 01:02:22

可以看一下php中的Output Control函数

扶醉桌前 2022-09-11 01:02:22

何不用wget直接抓个mirror出来然后打个tgz包下载

聊慰 2022-09-11 01:02:22

`ob_start();
//模板处理
//echo 模板内容
$content = ob_get_contents();
ob_end_clean();
file_put_contents('./demo.html', $content);`

东风软 2022-09-11 01:02:22

也可以用smart模板实现,如下所示:

<?php
require('smarty/Smarty.class.php');
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>

使用也很简便。

萌辣 2022-09-11 01:02:22
<?php
/* 在这里数据库增删改查之前对缓存进行过期判断和应用 */
$app['data'] = db_crud();
$view = render('index.php');
function render($template) {
    global $app;
    ob_end_clean();
    ob_start();
    require APP_ROOT.'/view/'.$template; //模板里会用到数据$app['data']
    $html = ob_get_contents();
    ob_end_clean();
    ob_start();
    /* 在这里把 ob_get_contents 拿到的字符串 file_put_contents 写入文件系统 */
    return $html;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文