ImageVerifierCode 换一换
格式:DOC , 页数:89 ,大小:298KB ,
资源ID:4613182      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4613182.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(ecmall核心文件ecmall.php分析.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

ecmall核心文件ecmall.php分析.doc

1、php?php/* ECMall框架核心文件,包含最基础的类与函数* Streamlining comes from Sparrow PHP Garbin* author Garbin*/*-以下是系统常量-*/* 记录程序启动时间 */define(START_TIME, ecm_microtime();/* 判断请求方式 */define(IS_POST, (strtoupper($_SERVERREQUEST_METHOD) = POST);/* 判断请求方式 */define(IN_ECM, true);/* 定义PHP_SELF常量 */define(PHP_SELF, htmlen

2、tities(isset($_SERVERPHP_SELF) ? $_SERVERPHP_SELF : $_SERVERSCRIPT_NAME);/* 当前ECMall程序版本 */define(VERSION, 2.0 final);/* 当前ECMall程序Release */define(RELEASE, 20090821);/*-以下是PHP在不同版本,不同服务器上的兼容处理-*/* 在部分IIS上会没有REQUEST_URI变量 */$query_string = isset($_SERVERargv0) ? $_SERVERargv0 : $_SERVERQUERY_STRING;

3、if (!isset($_SERVERREQUEST_URI) $_SERVERREQUEST_URI = PHP_SELF . ? . $query_string;else if (strpos($_SERVERREQUEST_URI, ?) = false & $query_string) $_SERVERREQUEST_URI .= ? . $query_string; function view($mess) if(is_array($mess)=true) $mess = highlight_string( default, /默认执行文件, default_act = index,

4、 /默认执行方法 app_root = ROOT_PATH . /app, /默认执行文件的路径 external_libs = array( /通用引入文件 ROOT_PATH . /includes/global.lib.php, ROOT_PATH . /includes/libraries/time.lib.php, ROOT_PATH . /includes/ecapp.base.php, ROOT_PATH . /includes/plugin.base.php, ROOT_PATH . /app/frontend.base.php, ROOT_PATH . /includes/s

5、ubdomain.inc.php, ), ); */ /* 加载初始化文件 */ require(ROOT_PATH . /eccore/controller/app.base.php); /基础控制器类 require(ROOT_PATH . /eccore/model/model.base.php); /模型基础类 /每次都有一堆的文件引入. if (!empty($configexternal_libs) foreach ($configexternal_libs as $lib) require($lib); /* 数据过滤 */ if (!get_magic_quotes_gpc()

6、 $_GET = addslashes_deep($_GET); $_POST = addslashes_deep($_POST); $_COOKIE= addslashes_deep($_COOKIE); /* 请求转发 作用不大, 可直接写死*/ $default_app = $configdefault_app ? $configdefault_app : default; $default_act = $configdefault_act ? $configdefault_act : index; / 处理GET,抓取app及act参数. / http:/127.0.0.1/ecmal

7、l/index.php?app=message&act=inbox 很容易看得出来. $app = isset($_REQUESTapp) ? trim($_REQUESTapp) : $default_app; $act = isset($_REQUESTact) ? trim($_REQUESTact) : $default_act; /根据app参数来引入相应的文件. $configapp_root变量是路径. $app_file = $configapp_root . /$app.app.php; /文件判断 if (!is_file($app_file) exit(Missing c

8、ontroller); / 引入文件. require($app_file); /定义两个常量, 估计日后常用. define(APP, $app); define(ACT, $act); / ucfirst,假设第一个字为小写,即转大写. / 也是组合成相应的类名, class MessageApp extends MemberbaseApp 可以看得出来. $app_class_name = ucfirst($app) . App; /* 实例化控制器 */ $app = new $app_class_name(); / c()函数即将当前的实例引用给$GLOBALSECMALL_APP

9、c($app); /执行$act方法 $app-do_action($act); /转发至对应的Action /空白方法,未添加功能. $app-destruct(); /* 所有类的基础类* author Garbin* usage none*/class Object var $_errors = array(); var $_errnum = 0; function _construct() $this-Object(); function Object() #TODO /* * 触发错误 * * author Garbin * param string $errmsg * return

10、 void */ function _error($msg, $obj = ) if(is_array($msg) $this-_errors = array_merge($this-_errors, $msg); $this-_errnum += count($msg); else $this-_errors = compact(msg, obj); $this-_errnum+; /* * 检查是否存在错误 * * author Garbin * return int */ function has_error() return $this-_errnum; /* * 获取错误列表 * *

11、 author Garbin * return array */ function get_error() return $this-_errors; /* 语言项管理* author Garbin* param none* return void*/class Lang /* * 获取指定键的语言项 * * author Garbin * param none * return mixed */ function &get($key = ) $vkey = $key ? strtokey($key, $GLOBALS_ECLANG_) : $GLOBALS_ECLANG_; $tmp = e

12、val(if(isset( . $vkey . )return . $vkey . ;else return $key; ); return $tmp; /* * 加载指定的语言项至全局语言数据中 * * author Garbin * param none * return void */ function load($lang_file) static $loaded = array(); $old_lang = $new_lang = array(); $file_md5 = md5($lang_file); if (!isset($loaded$file_md5) $new_lang

13、= Lang:fetch($lang_file); $loaded$file_md5 = $lang_file; else return; $old_lang =& $GLOBALS_ECLANG_; if (is_array($old_lang) $new_lang = array_merge($old_lang, $new_lang); $GLOBALS_ECLANG_ = $new_lang; /* * 获取一个语言文件的内容 * * author Garbin * param string $lang_file * return array */ function fetch($lan

14、g_file) return include($lang_file); function lang_file($file) return ROOT_PATH . /languages/ . LANG . / . $file . .lang.php;/* 配置管理器* author Garbin* usage none*/class Conf /* * 加载配置项 * * author Garbin * param mixed $conf * return bool */ function load($conf) $old_conf = isset($GLOBALSECMALL_CONFIG)

15、? $GLOBALSECMALL_CONFIG : array(); if (is_string($conf) $conf = include($conf); if (is_array($old_conf) $GLOBALSECMALL_CONFIG = array_merge($old_conf, $conf); else $GLOBALSECMALL_CONFIG = $conf; /* * 获取配置项 * * author Garbin * param string $k * return mixed */ function get($key = ) $vkey = $key ? str

16、tokey($key, $GLOBALSECMALL_CONFIG) : $GLOBALSECMALL_CONFIG; return eval(if(isset( . $vkey . )return . $vkey . ;else return null; ); /* 获取视图链接* author Garbin* param string $engine* return object*/function &v($is_new = false, $engine = default) include_once(ROOT_PATH . /eccore/view/template.php); if (

17、$is_new) return new ecsTemplate(); else static $v = null; if ($v = null) switch ($engine) case default: $v = new ecsTemplate(); break; return $v; /* 获取一个模型* author Garbin* param string $model_name* param array $params* param book $is_new* return object*/function &m($model_name, $params = array(), $i

18、s_new = false) static $models = array(); $model_hash = md5($model_name . var_export($params, true); if ($is_new | !isset($models$model_hash) $model_file = ROOT_PATH . /includes/models/ . $model_name . .model.php; if (!is_file($model_file) /* 不存在该文件,则无法获取模型 */ return false; include_once($model_file);

19、 $model_name = ucfirst($model_name) . Model; if ($is_new) return new $model_name($params, db(); $models$model_hash = new $model_name($params, db(); return $models$model_hash;/* 获取一个业务模型* param string $model_name* param array $params* param bool $is_new* return object*/function &bm($model_name, $para

20、ms = array(), $is_new = false) static $models = array(); $model_hash = md5($model_name . var_export($params, true); if ($is_new | !isset($models$model_hash) $model_file = ROOT_PATH . /includes/models/ . $model_name . .model.php; if (!is_file($model_file) /* 不存在该文件,则无法获取模型 */ return false; include_on

21、ce($model_file); $model_name = ucfirst($model_name) . BModel; if ($is_new) return new $model_name($params, db(); $models$model_hash = new $model_name($params, db(); return $models$model_hash;/* 获取当前控制器实例* author Garbin* return void*/function c(&$app) $GLOBALSECMALL_APP =& $app;/* 获取当前控制器* author Gar

22、bin* return Object*/function &cc() return $GLOBALSECMALL_APP;/* 导入一个类* author Garbin* return void*/function import() $c = func_get_args(); if (empty($c) return; array_walk($c, create_function($item, $key, include_once(ROOT_PATH . /includes/libraries/ . $item . .php););/* 将default.abc类的字符串转为$defaulta

23、bc* author Garbin* param string $str* return string*/function strtokey($str, $owner = ) if (!$str) return ; if ($owner) return $owner . . str_replace(., , $str) . ; else $parts = explode(., $str); $owner = $ . $parts0; unset($parts0); return strtokey(implode(., $parts), $owner); /* 跟踪调试* author Garb

24、in* param mixed $var* return void*/function trace($var) static $i = 0; echo $i, ., var_dump($var), ; $i+;/* rdump的别名* author Garbin* param any* return void*/function dump($arr) $args = func_get_args(); call_user_func_array(rdump, $args);/* 格式化显示出变量* author Garbin* param any* return void*/function rd

25、ump($arr) echo ; array_walk(func_get_args(), create_function(&$item, $key, print_r($item);); echo ; exit();/* 格式化并显示出变量类型* author Garbin* param any* return void*/function vdump($arr) echo ; array_walk(func_get_args(), create_function(&$item, $key, var_dump($item);); echo ; exit();/* 创建MySQL数据库对象实例*

26、author wj* return object*/function &db() include_once(ROOT_PATH . /eccore/model/mysql.php); static $db = null; if ($db = null) $cfg = parse_url(DB_CONFIG); if ($cfgscheme = mysql) if (empty($cfgpass) $cfgpass = ; else $cfgpass = urldecode($cfgpass); $cfg user = urldecode($cfguser); if (empty($cfgpat

27、h) trigger_error(Invalid database name., E_USER_ERROR); else $cfgpath = str_replace(/, , $cfgpath); $charset = (CHARSET = utf-8) ? utf8 : CHARSET; $db = new cls_mysql(); $db-cache_dir = ROOT_PATH. /temp/query_caches/; $db-connect($cfghost. : .$cfgport, $cfguser, $cfgpass, $cfgpath, $charset); else t

28、rigger_error(Unkown database type., E_USER_ERROR); return $db;/* 获得当前的域名* return string*/function get_domain() /* 协议 */ $protocol = (isset($_SERVERHTTPS) & (strtolower($_SERVERHTTPS) != off) ? https:/ : http:/; /* 域名或IP地址 */ if (isset($_SERVERHTTP_X_FORWARDED_HOST) $host = $_SERVERHTTP_X_FORWARDED_H

29、OST; elseif (isset($_SERVERHTTP_HOST) $host = $_SERVERHTTP_HOST; else /* 端口 */ if (isset($_SERVERSERVER_PORT) $port = : . $_SERVERSERVER_PORT; if (:80 = $port & http:/ = $protocol) | (:443 = $port & https:/ = $protocol) $port = ; else $port = ; if (isset($_SERVERSERVER_NAME) $host = $_SERVERSERVER_N

30、AME . $port; elseif (isset($_SERVERSERVER_ADDR) $host = $_SERVERSERVER_ADDR . $port; return $protocol . $host;/* 获得网站的URL地址* return string*/function site_url() return get_domain() . substr(PHP_SELF, 0, strrpos(PHP_SELF, /);/* 截取UTF-8编码下字符串的函数* param string $str 被截取的字符串* param int $length 截取的长度* param bool $append 是否附加省略号* return string*/function sub_str($string, $length = 0, $append = true) if(strlen($string) = $length) return $string; $string = str_replace(array(&, , <, >), array(&, , ), $string); $strcut = ; if(strtolo

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服