PHPが静的ページを生成する方法

 

$hotNews_id = $request -> get('hotNews_id');
//生成静态页
        $page = public_path() . '/static'.'/'.'hotNewsDetail_'.$hotNews_id.'.html';

        if(file_exists($page) && filemtime($page) - time() < 1800){
            //echo '静态页面';
            echo file_get_contents($page);
            exit;
        }else{

            $data = hotNews::where(['hotNews_id'=>$hotNews_id])
                -> get()
                -> toArray();
            foreach ($data as $k => $v){
                $data[$k]['ctime'] = date('Y-m-d');
            }
            $data = array_reduce($data, 'array_merge', array());

            $string = view('index.hotNewsDetail',['info' => $data]);
            return $this->create_static_page(public_path().'/static','hotNewsDetail_'.$hotNews_id.'.html',$string);
//生成静态页方法
function create_static_page($path,$file_name,$content){
    if(is_dir($path)){
        $file_name = $this -> handle_file_name($path,$file_name);
        file_put_contents($file_name, $content);
        chmod($file_name,0777);

    }

    return $content;
}
//文件路径处理函数
function handle_file_name($path,$file_name){
    if(substr($path, -1,1)=='/'){
        return $path.$file_name;
    }else{
        return $path.'/'.$file_name;
    }
}
//删除静态页方法
function delete_static_page($file){
    if(is_file($file)){
        unlink($file);
    }
}

 

おすすめ

転載: blog.csdn.net/weixin_45849851/article/details/102955310