phpcms中set_config和get_sysinfo函数

    /**
     * 设置config文件
     * @param $config 配属信息
     * @param $filename 要配置的文件名称
     */
    function set_config($config, $filename="system") {
        $configfile = CACHE_PATH.‘configs‘.DIRECTORY_SEPARATOR.$filename.‘.php‘;
        if(!is_writable($configfile)) showmessage(‘Please chmod ‘.$configfile.‘ to 0777 !‘);
        $pattern = $replacement = array();
        foreach($config as $k=>$v) {
            if(in_array($k,array(‘js_path‘,‘css_path‘,‘img_path‘,‘attachment_stat‘,‘admin_log‘,‘gzip‘,‘errorlog‘,‘phpsso‘,‘phpsso_appid‘,‘phpsso_api_url‘,‘phpsso_auth_key‘,‘phpsso_version‘,‘connect_enable‘, ‘upload_url‘,‘sina_akey‘, ‘sina_skey‘, ‘snda_enable‘, ‘snda_status‘, ‘snda_akey‘, ‘snda_skey‘, ‘qq_akey‘, ‘qq_skey‘,‘qq_appid‘,‘qq_appkey‘,‘qq_callback‘,‘admin_url‘))) {
                $v = trim($v);
                $configs[$k] = $v;
                $pattern[$k] = "/‘".$k."‘\s*=>\s*([‘]?)[^‘]*([‘]?)(\s*),/is";
                $replacement[$k] = "‘".$k."‘ => \${1}".$v."\${2}\${3},";
            }
        }
        $str = file_get_contents($configfile);
        $str = preg_replace($pattern, $replacement, $str);
        return pc_base::load_config(‘system‘,‘lock_ex‘) ? file_put_contents($configfile, $str, LOCK_EX) : file_put_contents($configfile, $str);
    }

    /**
     * 获取系统信息
     */
    function get_sysinfo() {
        $sys_info[‘os‘]             = PHP_OS;
        $sys_info[‘zlib‘]           = function_exists(‘gzclose‘);//zlib
        $sys_info[‘safe_mode‘]      = (boolean) ini_get(‘safe_mode‘);//safe_mode = Off
        $sys_info[‘safe_mode_gid‘]  = (boolean) ini_get(‘safe_mode_gid‘);//safe_mode_gid = Off
        $sys_info[‘timezone‘]       = function_exists("date_default_timezone_get") ? date_default_timezone_get() : L(‘no_setting‘);
        $sys_info[‘socket‘]         = function_exists(‘fsockopen‘) ;
        $sys_info[‘web_server‘]     = strpos($_SERVER[‘SERVER_SOFTWARE‘], ‘PHP‘)===false ? $_SERVER[‘SERVER_SOFTWARE‘].‘PHP/‘.phpversion() : $_SERVER[‘SERVER_SOFTWARE‘];
        $sys_info[‘phpv‘]           = phpversion();
        $sys_info[‘fileupload‘]     = @ini_get(‘file_uploads‘) ? ini_get(‘upload_max_filesize‘) :‘unknown‘;
        return $sys_info;
    }

原文地址:https://www.cnblogs.com/cblx/p/9775518.html

时间: 2024-08-13 14:02:53

phpcms中set_config和get_sysinfo函数的相关文章

PHPCMS中load_model,load_app_class, load_sys_func

phpcms v9 二次开发: 在一个项目开发中遇到需要二次开发,但我们需要了解load_model,load_app_class, load_sys_func的含义: 1.调用数据库模型 //从"phpcms/model/"目录下加载模型类文件 $this->db = pc_base::load_model('test_model'); 其中$this->db中所支持的方法请参照phpcms/libs/classes/model.class.PHP中方法 2.加载系统类

PHPCMS中GET标签概述

一.get 标签概述 通俗来讲,get 标签是Phpcms定义的能直接调用数据库里面内容的简单化.友好化代码,她可调用本系统和外部数据,只有你对SQL有一定的了解,她就是你的绝世好剑!也就是适合熟悉SQL语句的人使用.有了她,我们打造个性化的网站,能非常方便的调用出数据库里面指定的内容.通过条件限制,我们可以调用出不同条件下的不同数据. 二.get标签样式 {get dbsource=" " sql=" "} {/get} 三.get 标签语法 1.get标签属性值

用sql语句导出oracle中的存储过程和函数

用sql语句导出oracle中的存储过程和函数: SET echo off ; SET heading off ; SET feedback off ; SPOOL 'C:/PRC.SQL' replace SELECT CASE WHEN LINE = 1 THEN 'CREATE OR REPLACE ' || TEXT WHEN LINE = MAX_LINE THEN TEXT || CHR(10 ) || '/' ELSE TEXT END FROM USER_SOURCE A LEF

javascript中的立即执行函数(function(){…})()

javascript中的立即执行函数(function(){…})() 深入理解javascript中的立即执行函数,立即执行函数也叫立即调用函数,通常它的写法是用(function(){…})()包住业务代码,使用jquery时比较常见. ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此.要

(转)驱动开发中使用安全字符串函数

参考链接:http://www.cppblog.com/aurain/archive/2009/09/27/97363.html 一.前言 大量的系统安全问题是由于薄弱的缓冲处理以及由此产生的缓冲区溢出造成的,而薄弱的缓冲区处理常常与字符串操作相关.c/c++语言运行库提供的标准字符串操作函数(strcpy, strcat, sprintf等)不能阻止在超出字符串尾端的写入. 基于Windows XP SP1以及随后的操作系统的Windows DDK版本提供了安全字符串函数(safe strin

JavaScript 中对变量和函数声明的提前示例

如题所示,看下面的示例(可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入)(使用技巧: 控制台输入时Shift+Enter可以中途代码换行) var name = "xiaoming"; (function(){ var name = name || "小张"; console.info(name); })();// 小张 (function(){ name = name || "小张";

C++面试题1:构造函数和虚构函数中能否调用虚函数?

C++面试题1:构造函数和虚构函数中能否调用虚函数? 构造函数跟虚构函数里面都可以调用虚函数,编译器不会报错. C++ primer中说到最好别用 由于类的构造次序是由基类到派生类,所以在构造函数中调用虚函数,虚函数是不会呈现出多态的 类的析构是从派生类到基类,当调用继承层次中某一层次的类的析构函数时意味着其派生类部分已经析构掉,所以也不会呈现多态 因此如果在基类中声明的纯虚函数并且在基类的析构函数中调用之,编译器会发生错误. class Base { public: Base() { Fuct

关于phpcms中模块_tag.class.php中的pc_tag()方法的含义

关于phpcms中模块_tag.class.php中的pc_tag()方法的含义: 在phpcms系统中自己写后台模块,要在前台模板中显示出来需要在\phpcms\modules\自己定义的模块名\classes\目录下写一个"模块名_tag.class.php"文件,此文件中输出前台模块板所使用的自定义的pc标签,标签定义类中的方法如何写我在这里就不赘述了,因为网上很多相关内容的资料,比如:(http://wenku.baidu.com/link?url=sesC6Zsic5BJi6

项目开发中常用的PHP函数

日期操作 为了便于存储.比较和传递,我们通常需要使用strtotime()函数将日期转换成UNIX时间戳,只有在显示给用户看的时候才使用date()函数将日期转换成常用的时间格式. strtotime()  函数将任何英文文本的日期时间描述解析为 Unix 时间戳 eg: <?php echo(strtotime("now")); echo(strtotime("3 October 2005")); echo(strtotime("+5 hours&