discuz $_G变量

class.core.php中

global $_G;
        $_G = array(
            ‘uid‘ => 0,
            ‘username‘ => ‘‘,
            ‘adminid‘ => 0,
            ‘groupid‘ => 1,
            ‘sid‘ => ‘‘,
            ‘formhash‘ => ‘‘,
            ‘timestamp‘ => TIMESTAMP,
            ‘starttime‘ => dmicrotime(),
            ‘clientip‘ => $this->_get_client_ip(),
            ‘referer‘ => ‘‘,
            ‘charset‘ => ‘‘,
            ‘gzipcompress‘ => ‘‘,
            ‘authkey‘ => ‘‘,
            ‘timenow‘ => array(),

‘PHP_SELF‘ => ‘‘,
            ‘siteurl‘ => ‘‘,
            ‘siteroot‘ => ‘‘,
            ‘siteport‘ => ‘‘,

‘config‘ => array(),
            ‘setting‘ => array(),
            ‘member‘ => array(),
            ‘group‘ => array(),
            ‘cookie‘ => array(),
            ‘style‘ => array(),
            ‘cache‘ => array(),
            ‘session‘ => array(),
            ‘lang‘ => array(),
            ‘my_app‘ => array(),
            ‘my_userapp‘ => array(),

‘fid‘ => 0,
            ‘tid‘ => 0,
            ‘forum‘ => array(),
            ‘thread‘ => array(),
            ‘rssauth‘ => ‘‘,

‘home‘ => array(),
            ‘space‘ => array(),

‘block‘ => array(),
            ‘article‘ => array(),

‘action‘ => array(
                ‘action‘ => APPTYPEID,
                ‘fid‘ => 0,
                ‘tid‘ => 0,
            ),

‘mobile‘ => ‘‘,

);

$this->var = & $_G;  //重点,全文都是利用var进行赋植

还有就是MAGIC_QUOTES_GPC是否开启,加转义

if(!MAGIC_QUOTES_GPC) {
            $_GET = daddslashes($_GET);
            $_POST = daddslashes($_POST);
            $_COOKIE = daddslashes($_COOKIE);
            $_FILES = daddslashes($_FILES);
        }

$prelength = strlen($this->config[‘cookie‘][‘cookiepre‘]);
        foreach($_COOKIE as $key => $val) {
            if(substr($key, 0, $prelength) == $this->config[‘cookie‘][‘cookiepre‘]) {
                $this->var[‘cookie‘][substr($key, $prelength)] = $val;
            }
        }

if($_SERVER[‘REQUEST_METHOD‘] == ‘POST‘ && !empty($_POST)) {
            $_GET = array_merge($_GET, $_POST);
        }

foreach($_GET as $k => $v) {
            $this->var[‘gp_‘.$k] = $v;   //所以其他脚本使用变量时,都有gp_
        }

时间: 2024-10-28 19:11:32

discuz $_G变量的相关文章

Discuz移动接口原理简介

Discuz论坛内置提供针对移动端开发的json接口,下面根据源码进行一些分析. 入口 api/mobile/index.php 功能比较简单,指向source/plugins/mobile/mobile.php 或者check.php,check.php只有当类似$_GET['check'] == 'check'的情况下才运行,返回系统基本信息:其他请求均通过mobile.php接管. mobile.php mobile.php的基本思想是根据$_GET['module']以及$_GET['v

【discuzX2】/source/class/class_core.php文件中核心基础类库中discuz_core类分析

<?php /** *      [Discuz!] (C)2001-2099 Comsenz Inc. *      This is NOT a freeware, use is subject to license terms * *      $Id: class_core.php 24487 2011-09-21 08:13:57Z monkey $ */ define('IN_DISCUZ', true);//禁止用户直接通过路径访问 error_reporting(0);//设置错误

前端面试合集

VUE 1.什么是 vue 生命周期 2.vue生命周期的作用是什么 3.第一次页面加载会触发哪几个钩子 4.简述每个周期具体适合哪些场景 5.created和mounted的区别 6.vue获取数据在哪个周期函数 7.请详细说下你对vue生命周期的理解? vue路由面试题 mvvm 框架是什么?vue-router 是什么?它有哪些组件 active-class 是哪个组件的属性?怎么定义 vue-router 的动态路由? 怎么获取传过来的值vue-router 有哪几种导航钩子?6.$ro

【discuz】G变量注解之 $_G[&#39;member&#39;] 全局当前登录者信息

print? <?php G变量的使用方法: 直接复制下面的变量放到discuzx模板需要的位置即可! 例如:$_G['style'][boardlogo] 刷新后就会 显示一张logo 全局当前登录者信息篇 $_G['member'] => Array 当前登录用户个人信息 ( $_G['member'][uid] => UID $_G['member'][email] => 邮箱地址 $_G['member'][username] => 用户名 $_G['member']

lua local 变量和表

local是我们在lua编程里面经常写的,经常写的方式为local foo = foo.lua对local的处理有加速访问的效果,并且将变量定义为局部变量也是一种好的编程习惯. lua对变量和表的local化处理的方式是不同的 ======example====== foo = {} foo.a =1 do local foo = foo foo.a =2 print(foo, _G["foo"]) print(foo.a) print(_G["foo"].a) e

第一章 Scorpio-CSharp基础语法介绍 变量篇

1. 申请变量时加上 var 证明此变量的作用域为当前作用域,不加var的一律认为是全局变量 2. 预留全局变量 _G 全局table,_G保存了所有全局变量 _VERSION 脚本引擎版本号,暂时全部为master _SCRIPT 脚本引擎对象 3. 脚本内所有数据类型分别为 null bool number string function array table userdata,下面为各类型的申请 null 类型 var a = null bool 类型 var a = true var

discuz2.5变量大全

<?php   /** * [Discuz!] (C)2001-2099 Comsenz Inc. * This is NOT a freeware, use is subject to license terms * * $Id: lang_admincp.php 31458 2012-08-30 03:39:40Z zhengqingpeng $ */   if(!defined('IN_DISCUZ')) { exit('Access Denied'); }     $lang = arr

在基于Jetty Fast CGI Proxy和php-fpm下配置Discuz

终于把Discuz装上了,但是安装完以后发现问题一大堆..这个图片不显示,那个不能用的. 问题的根源在于因为我不是直接的php访问,而是通过php-fpm中转了一下,而discuz的代码里面很多直接引用了$_SERVER[HTTP_HOST]这样的变量,使得很多地方都是localhost:9000 (即代理的地址) 要解决这个问题要花好几步 1. upload/source/class/discuz_application下面,搜索siteurl,在初始化siteurl的地方,填写你的域名 2.

discuz全局数组变量 后台各项设置 完整版

$_G 保存了 Discuz! 中所有的预处理数据缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可.Discuz! 中所有的缓存保存在 $_G[cache] 中$_G[member] 会员信息数据$_G[uid] 用户 uid$_G[username] 用户名$_G[adminid] 用户管理组 id$_G[groupid] 用户用户组 id$_G[settting] 设置数据$_G[cache] 系统缓存$_G[cache][plugin] 插