zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    ?>
    
  • 相关阅读:
    《作业二》总结
    《作业一》总结
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    第12组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/4000678.html
Copyright © 2011-2022 走看看