• PHPCMS 详情页静态化


    <?php
    defined('IN_PHPCMS') or exit('No permission resources.');
    pc_base::load_app_class('admin','admin',0);
    class game extends admin {
        public function __construct() {
    	parent::__construct();
            $this->game = pc_base::load_model('game_model');
            $this->db = pc_base::load_model('gamedown_model');
            $this->html_root = 'D:wampwww
    ecord/html/game/';
        }
        /**-- 首页的每日推荐 --**/
        public function game_list(){
            if($_POST['submit']){
                $id = $_POST['id'];
                if($id){
                  $this->game->update(array('content'=>$id),array('id'=>1));
                  showmessage('修改成功');
                }            
            }else{
                $arr = $this->game->get_one(array('id'=>1));
                $id = $arr['content'];
                include $this->admin_tpl('lists');  
            }
        }
        /**-- 游戏分类 静态化 --**/
        public function static_lists(){
            $url = APP_PATH."index.php?m=game&c=index&a=lists";
            $path = $this->html_root.'game/single/lists.html';
            $this->php_to_html($path,$url);
        }
        /**-- 越狱专享 静态化 --**/
        public function static_yueyu(){
            $url = APP_PATH."index.php?m=game&c=index&a=yueyu";
            $path = $this->html_root.'game/single/yueyu.html';
            $this->php_to_html($path,$url); 
        }
        /**-- 详情页 静态化 --**/
        public function static_show(){
            if($_GET['submit']){
                          
            }else{
               
                include $this->admin_tpl('static');  
            }
        }
        /**-- 去检查更新 --**/
        function static_now(){
            $type = isset($_GET['type']) ? intval($_GET['type']) : $_GET['type'];
            $num = isset($_GET['num']) ? intval($_GET['num']) : $_GET['num'];
            $page = isset($_GET['page']) ? $_GET['page'] : 0;
    
            if(!$type && !$num){
                exit('<h1>参数错误!</h1>');
            }	
            // 根据类型 确定要更新的范围
            if(isset($type) && $type == 2){  //更新全部
                $total = $this->db->count();
                $order = 'id';
            }else{
                $total = $num;
                $order = 'id desc';
            }
            $total_page = ceil($total/10);
            $limit = (10*$page).',10';
            $data = $this->db->select('','id,catid', $limit,$order);
            foreach ($data as $k => $v) {
                $path = $this->html_root.$v['catid'].'/'.$v['id'].'.html';
                $url = APP_PATH."index.php?m=game&c=index&a=show&catid=".$v['catid']."&id=".$v['id'];
                $this->php_to_html($path,$url);
            }
            if ($total_page > $page) {			
                showmessage('正在更新'.($page*10).'/'.$total.'<script type="text/javascript">location.href="?m=game&c=game&a=static_now&page='.($page+1).'&num='.$num.'&type='.$type.'&pc_hash='.$_SESSION['pc_hash'].'"</script>', '?m=game&c=game&a=static_now&page='.($page+1).'&total='.$total);
            } else {
                showmessage("更新完成!");	
            }
        }
        /**-- 生成 HTML 静态页面 --**/
        private function php_to_html($path,$url){ 
            //D:wampwww
    ecord/html/2014/dongzuogame_0717/109.html
            //$path = 'D:wampwww
    ecord/html/game/';
            $html = file_get_contents($url);
            ob_start();
            echo $html;
            $this->createhtml($path); 
        }
        /**
            * 写入文件
            * @param $file 文件路径
            * @param $copyjs 是否复制js,跨站调用评论时,需要该js
            */
        private function createhtml($file, $copyjs = '') {
                $data = ob_get_contents();
                ob_clean();
                $dir = dirname($file);
                if(!is_dir($dir)) {
                        mkdir($dir, 0777,1);
                }
                if ($copyjs && !file_exists($dir.'/js.html')) {
                        @copy(PC_PATH.'modules/content/templates/js.html', $dir.'/js.html');
                }
                $strlen = file_put_contents($file, $data);
                @chmod($file,0777);
                if(!is_writable($file)) {
                        $file = str_replace(PHPCMS_PATH,'',$file);
                        showmessage(L('file').':'.$file.'<br>'.L('not_writable'));
                }
                return $strlen;
        }
    }
    ?>
    
  • 相关阅读:
    TP6框架中如何无刷新上传文件
    TP6框架设置验证码的宽度和高度后,验证码显示不全
    TP6模板缓存问题
    TP6管理后台实战第五天文章管理
    20211027技术人为什么建议写博客
    TP6管理后台实战第六天系统管理
    博客园自定义菜单
    xcat无法连接服务器
    lsf安装后配置
    xcat网络无盘启动——添加自定义安装包
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/4000678.html
Copyright © 2020-2023  润新知