用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2130|回复: 4
收起左侧

[控制器] 求教:批量生成静态/伪静态 HTML页面

[复制链接]
发表于 2018-8-25 22:09:39 | 显示全部楼层 |阅读模式
1CI币
各位大侠好.   我在做一个简单的数据库查询系统,遇到问题如下:


数据库大致如下:
id         device_name       data1      data2
1            m201                    10          20
2            m202                    55          80


1000+


因为需要1000多条能直接访问的HTML页面(扫描二维码用,二维码与HTML页面相对应)
有什么办法可以让CI 根据device_name 批量生成  www.xxx.com/devices/m201.html 这样的页面?

CONFIG 和$route的 URI方法已掌握



请赐教!  无尽感激!



发表于 2018-8-26 02:45:03 | 显示全部楼层
为什么必须是静态文件呢?用路由模拟一个静态文件不可以么?也就是看起来是静态,实际上不是。。。。
回复

使用道具 举报

发表于 2018-8-26 11:26:50 | 显示全部楼层
$content =file_get_contents($filename);
$res = 'html内容';
file_put_contents($filename,$res);
回复

使用道具 举报

发表于 2018-8-26 15:39:22 | 显示全部楼层
刚好看到,凑个热闹。 楼主想要静态文件,是为了速度优化吗?
1, 如果是为了速度优化,ci不是有缓存么,这块想办法设置一下,应该就差不多了。

如果不是,而是为了扫描二维码能直达 html 页面,那也可以完全
2, 用一个php页面即可,201,202这些作为参数,动态返回对应的201 202页面就完了么
3, 如果是想把html页面内容,写死到二维码里(就是离线也能使用? 对二维码没做特别研究,只知道可以存放几千个字符),那也没啥问题啊,写一个php文件,用命令行执行,接收参数201 202 ... 1000+  ,然后直接输出最终版的html到文件。
      类似伪码:
      for (i=1; i<1000;i++) {
             write_file(i)  // 根据201 202 返回对应的html
       }

如果说201 202这些还时不时的会动态改变,那就结合linux cron计划任务,5分钟跑一次?  
或者,设置一个条件,在更新数据库的时候,更改了那一个条目,就更新条目对应的文件,就是单跑一次 write_file
回复

使用道具 举报

本版积分规则