php CI如何实现全站静态生成html,动态创建目录

php CI如何实现全站静态生成html,动态创建目录
CodeIgniter框架生成HTML的方法

复制代码
public function out_html($code)
{
        $data['articles'] = $datalist;
        
        $this->load->helper('file');
        $this->load->view('article',$data);
        $html_data = $this->output->get_output();
        //根据规则生成目录
        $path = '/usr/share/nginx/htdocs/static/www.test.com/'.
               substr($code,0,2).'/'.substr($code,2,3);
        //目录不存在时创建
        if (!is_dir($path)){
            mkdir($path,0755,true);
        }
        $file_path = $path.'/'.$code.'.html';
        if(write_file($file_path,$html_data)){
            echo "success";
        }else{
            echo "error";
        }
}
复制代码

============
mkdir($path,0755,true);
第一个参数:必须,代表要创建的多级目录的路径;
第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;
第三个参数:true表示允许创建多级目录。

is_dir 判断目录是否存在,但中文目录判断不了
要创建中文目录可以使用iconv("UTF-8", "GBK", $path)防止中文目录乱码

 

posted @   大自然的流风  阅读(1141)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2018-08-29 Java国际化号码验证方法,国内手机号正则表达式
2018-08-29 golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
2018-08-29 javamail邮件Multipart支持同时发text和html混合消息,alternative纯文本与超文本共存
2018-08-29 通用技术 mysql 亿级数据优化
点击右上角即可分享
微信分享提示