管理中心公用文件init.php源码分析

聚类分析(超全超详细版) 聚类分析是一种典型的无监督学习, 用于对未知类别的样本进行划分,将它们按照一定的规则划分成若干个类族,把相似(距高相近)的样本聚在同一个类簇中, 把不相似的样本分为不同类簇,从而揭示样本之间内在的性质以及相互之间的联系规律 聚类算法在银行、零售、保险、医学、军事等诸多领域有着广泛的应用 聚类分析基础 聚类分析的概念 聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象分组。目的是... 阅读详情
/**
* ERC 管理中心公用文件
* ============================================================================
*/
if (!defined('IN_ERC')) // defined()函数检查某常量是否存在,若常量存在,则返回 true,否则返回 false。
{
die('Hacking attempt');
}
define('ERC_ADMIN', true); //有什么作用,还不是很清楚!
error_reporting(E_ALL);
if (__FILE__ == '')     //在什么样的情况下__FILE__这个魔法变量才会为空,搞不清楚!
{
die('Fatal error code: 0');
}
/* 取得当前网站所在的根目录 很不错的方法*/
//echo __FILE__.'<br>';
//echo str_replace('\\', '/', __FILE__).'<br>'; // 自己注意了,第一个参数是str_replace函数要在字符串查找替换的字符,老忘!
//echo str_replace('admin/includes/init.php', '', str_replace('\\', '/', __FILE__)); // 注意了,这个值后还有个'/' 正斜杠 !!!!
define('ROOT_PATH', str_replace('admin/includes/init.php', '', str_replace('\\', '/', __FILE__)));
/* 初始化设置 */
/**
本指令设定了一个脚本所能够申请到的最大内存字节数。这有助于防止写得不好的脚本消耗光服务器上的可用内存,memory_limit是设置PHP使用内存时空间,一般设置为内存的四分之一,应该就查不多了。如512M内存设置128M,1G内存设置256M。设置太大会影响系统速度,因为系统和数据库及其他程序同样需要内存空间,一般系统和数据库内存空间是自己分配的。
*/
@ini_set('memory_limit',       '64M');
/**
* 客户端缓存时间 用来控制缓存的会话页面的存活周期。注意session.cache_expire的值的单位为分钟!
*/
@ini_set('session.cache_expire',   180);
/* 不尝试从其他地方获得sessionid   没怎么搞清楚*/
@ini_set('session.use_trans_sid', 0);
/*sessionid的传递方式,默认是cookie,推荐使用*/
@ini_set('session.use_cookies', 1);
/*是否自动启动session,默认为不是,不需要修改*/
@ini_set('session.auto_start', 0);
@ini_set('display_errors',        1);
/*
DIRECTORY_SEPARATOR:路径分隔符,linux上就是’/’ windows上是’\’
PATH_SEPARATOR:include多个路径使用,在win下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。
这2个常量的使用能够避免不同平台的兼容性问题。
*/
//echo DIRECTORY_SEPARATOR;
if (DIRECTORY_SEPARATOR == '\\')
{
@ini_set('include_path',    '.;' . ROOT_PATH);
}
else
{
@ini_set('include_path',    '.:' . ROOT_PATH);
}
if (file_exists(ROOT_PATH . 'data/config.php'))
{
include(ROOT_PATH . 'data/config.php');
}
else
{
include(ROOT_PATH . 'includes/config.php'); // 会有这个文件吗???
}
if (defined('DEBUG_MODE') == false)   //调试模式
{
define('DEBUG_MODE', 0);   // 它是用来控制缓存的 只要DEBUG_MODE的值不为2 就读缓存
}
/* php中环境变量
PHP_OS   —– 服务器端的操作系统 ,值为(WINNT,WIN32等)
可以这么使用例如: eregi(”WIN”,PHP_OS) ? “do somthing” : “do other thing”;
PHP_VERSION —– 服务器端的PHP程序版本
可以这么使用例如: echo PHP_VERSION;
*/
// echo PHP_VERSION;
if (PHP_VERSION >= '5.1' && !empty($timezone))
{
date_default_timezone_set($timezone);   // 设置时区
}
/*
PHP以 CGI 方式运行,二者就有明显不同的差异。
echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi)
echo $_SERVER['PHP_SELF']; // (/admin/test.php)
*/
//echo $_SERVER['PHP_SELF'];    输出:/ERC/admin/***.php     当前正在执行脚本的文件名,是当前!!!
//echo $_SERVER['SCRIPT_NAME'];
//echo __FILE__;                输出: D:\www\ERC\admin\includes\init.php   绝对路径!!!
if (isset($_SERVER['PHP_SELF']))
{
define('PHP_SELF', $_SERVER['PHP_SELF']);
}
else
{
define('PHP_SELF', $_SERVER['SCRIPT_NAME']);
}
require(ROOT_PATH . 'includes/inc_constant.php');           //常量,暂时没多大用
require(ROOT_PATH . 'includes/cls_ecshop.php');          //基础类
require(ROOT_PATH . 'includes/cls_error.php');              //用户级错误处理类
require(ROOT_PATH . 'includes/lib_time.php');             //时间函数
require(ROOT_PATH . 'includes/lib_base.php');             //基础函数库
require(ROOT_PATH . 'includes/lib_common.php');          //公用函数库
require(ROOT_PATH . 'admin/includes/lib_main.php');       //管理中心公用函数库
require(ROOT_PATH . 'admin/includes/cls_exchange.php');     //后台自动操作数据库的类文件
/* 对用户传入的变量进行转义操作 */
/* 
取得 PHP 环境变数 magic_quotes_gpc 的值
本函式取得 PHP 环境设定的变数 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。传回 0 表示关闭本功能;传回 1 表示本功能开启。
当 magic_quotes_gpc 开启时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的溢出字符。
*/
// echo get_magic_quotes_gpc();
if (!get_magic_quotes_gpc())
{
if (!empty($_GET))
{
       $_GET   = addslashes_deep($_GET);
}
if (!empty($_POST))
{
       $_POST = addslashes_deep($_POST);
}
$_COOKIE = addslashes_deep($_COOKIE);
$_REQUEST   = addslashes_deep($_REQUEST);
}
/* 对路径进行安全处理 */
// echo PHP_SELF;
if (strpos(PHP_SELF, '.php/') !== false) //strpos() 函数返回字符串在另一个字符串中第一次出现的位置
{ //echo PHP_SELF."<br>";
//echo substr(PHP_SELF, 0, strpos(PHP_SELF, '.php/') + 4) . "\n";
go_header("Location:" . substr(PHP_SELF, 0, strpos(PHP_SELF, '.php/') + 4) . "\n");   //   这个换行有什么意义吗?
exit();
}
/* 创建 ECSHOP 对象 */
$ecs = new ECS($db_name, $prefix);
//echo $ecs->data_dir("asdf");
define('DATA_DIR', $ecs->data_dir());
define('IMAGE_DIR', $ecs->image_dir());
/* 初始化数据库类 */
require(ROOT_PATH . 'includes/cls_mysql.php');
$db = new cls_mysql($db_host, $db_user, $db_pass, $db_name);
$db_host = $db_user = $db_pass = $db_name = NULL;
/* 创建错误处理对象 */
$err = new ecs_error('message.htm');
/* 初始化session */
require(ROOT_PATH . 'includes/cls_session.php');
$sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'), 'ECSCP_ID');
/* 初始化 action */
if (!isset($_REQUEST['act']))
{
$_REQUEST['act'] = '';
}
elseif (($_REQUEST['act'] == 'login' || $_REQUEST['act'] == 'logout' || $_REQUEST['act'] == 'signin') &&
strpos(PHP_SELF, '/privilege.php') === false)   //防黑客???
{
$_REQUEST['act'] = '';
}
elseif (($_REQUEST['act'] == 'forget_pwd' || $_REQUEST['act'] == 'reset_pwd' || $_REQUEST['act'] == 'get_pwd') &&
strpos(PHP_SELF, '/get_password.php') === false)
{
$_REQUEST['act'] = '';
}
/* 载入系统参数 */
$_CFG = load_config(); // 载入temp\static_caches\shop_config.php   没有此文件则从数据库erc_shop_config查询 
//print_r($_CFG);
// TODO : 登录部分准备拿出去做,到时候把以下操作一起挪过去
if ($_REQUEST['act'] == 'captcha')   // 图形验证码
{
include(ROOT_PATH . 'includes/cls_captcha.php');
$img = new captcha('../data/captcha/');
@ob_end_clean(); //清除之前出现的多余输入
$img->generate_image();
exit;
}
//$_CFG['lang'] = "zh_tw";   测试
require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/common.php');    // 管理中心共用语言文件
require(ROOT_PATH . 'languages/' .$_CFG['lang']. '/admin/log_action.php');   // 管理中心管理员操作内容语言文件
// 查找某一php文件,就调用此php页面语言包
// echo basename(PHP_SELF);   还回基本文件名
if (file_exists(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF)))
{
include(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/admin/' . basename(PHP_SELF));
}
if (!file_exists('../temp/caches'))
{
@mkdir('../temp/caches', 0777);
@chmod('../temp/caches', 0777);   // chmod -- 改变文件模式
}
if (!file_exists('../temp/compiled/admin'))
{
@mkdir('../temp/compiled/admin', 0777);
@chmod('../temp/compiled/admin', 0777);
}
clearstatcache();   // clearstatcache -- 清除文件状态缓存 此函数具体还不知道到底怎么用
/* 如果有新版本,升级 */
if (!isset($_CFG['ecs_version']))
{
$_CFG['ecs_version'] = 'v2.0.5';
}
if (preg_replace('/(?:\.|\s+)[a-z]*$/i', '', $_CFG['ecs_version']) != preg_replace('/(?:\.|\s+)[a-z]*$/i', '', VERSION)
       && file_exists('../upgrade/index.php'))
{
// 转到升级文件
go_header("Location: ../upgrade/index.php\n");
exit;
} 

高通平台WIFI学习-- WCN7851 三频 2X2 MIMO DBS HBS Wi-Fi 7介绍 WCN7851是支持Wi-Fi 7和蓝牙5.4的三频SoC芯片,具有以下核心特性:采用NSP334封装,支持2.4GHz/5GHz/6GHz三频段并发操作,最高速率达5.8Gbps;集成MU-MIMO、4096QAM调制技术,6GHz频段支持320MHz带宽;提供PCIe Gen3接口和低功耗设计,兼容多种无线标准。电气特性包括1.8V/1.2V可编程GPIO、76.8MHz时钟源要求,以及详细的射频性能参数。该芯片通过多链路操作和动态频率选择等先进功能,实现高性能无线连接。 阅读详情

相关推荐

ROS2初级面试题汇总

总结和收集了一些关于ros2的问题和解答记录

qq_57633442的博客 5555

php require的用法,php-如何在require中使用根路径?

我在站点内有一个私有部分,其文件夹结构如下www.site.com/privatePath/secretFolder/login.php然后是一些子文件夹www.site.com/privatePath/secretFolder/grandmasRecipes/applePie.php在login.php旁边有一个共享的functions.phpwww.site.com/privatePath/s...

weixin_34092535的博客 1009

SAP-ML章<<<<第二节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>>

#SAP-ML章<<<<第一节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>> 1.物料账报错提示: ABAP编程错误:RAISE_EXCEPTION ABAP程序:SAPLFCML4H_RUN_PRICES应用组件CO-PC-ACT 2. 物料账报错背景: CKMLCP运行结算时 3. 解决方案: 通过DEBUG查看错误的地方 OKTZ:分析原因为:可能打包或者配置传输时弄错 ...

SAP.David.Gao的博客 1856

ecshop init.php文件分析(转)

<?php /** * ECSHOP 前台公用文件 */ //防止非法调用 defined-判断常量是否已定义,如果没返回false if (!defined('IN_ECS')) { die('Hacking attempt');//die-直接终止程序并输出 } //报告所有错误 error_reporting(E_ALL); //如果获取不到本文...

weixin_33725807的博客 185

全志 mipi屏幕和触摸驱动调试记录

mipi屏幕与触摸调试记录

u011996684的博客 3218

安装Quartus-II 13 和Modelsim

目录一、Quartus-II安装1.Quartus-II 13下载2.Quartus-II 13安装3.Quartus-II 13注册二、Modelsim安装 实验目的:安装Quartus-II 13 和Modelsim 实验环境:Windows10 参考资料:Quartus-II安装及使用 一、Quartus-II安装 1.Quartus-II 13下载 正点原子官方资料下载 百度网盘下载链接: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA 提取码:

qqq080的博客 8626

php 引用类文件 init,init.php文件PHP实现适用于文件内容操作的分页类

本文实例为大家分享了PHP实现文件内容操作的分页类,强调一下只针对文件的操作,供大家参考,具体内容如下file = file_get_contents($file);$this->pageLen = $len;$this->current = isset($_GET['page'])?$_GET['page']:1;$this->totalPage = $this->get...

weixin_35172279的博客 300

cadence中利用sva进行FPV实战(可直接使用)

在cadence中使用fpv进行formal验证

youzjuer的博客 749

ecshop代码分析一(init.php文件)

<?php/** * ECSHOP 前台公用文件*///防止非法调用 defined-判断常量是否已定义,如果没返回falseif (!defined('IN_ECS')){ die('Hacking attempt');//die-直接终止程序并输出}//报告所有错误error_reporting(E_ALL);//如果获取不到本文件if (__FILE__ == ''){ die('Fatal

amberom的专栏 726

【系统移植】 移植主线U-Boot(v2024.01-rc3)到RK3399

[系统移植] 移植主线U-Boot(v2024.01-rc3)到RK3399

Systemcall名屋 1003

Windows环境下Ollama的本地部署方案

本文主要介绍了Windows环境下Ollama的本地部署方案,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. Windows环境安装 3. API调用示例代码

herosunly的博客 11万+

Ecshop中重要文件init.php文件代码分析

<?php /** * ECSHOP 前台公用文件 */ //防止非法调用 defined-判断常量是否已定义,如果没返回false if (!defined('IN_ECS')) { die('Hacking attempt');//die-直接终止程序并输出 } //报告所有错误 error_reporting(E_ALL); //如果获取不到本文件 if (__FILE__ ==

阿送 1429

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

743

php 获取项目根目录

背景:项目中需要找到一个文件位置存放临时生成的文件,放到项目根目录下,会造成项目文件大小很庞大的感觉,所以想在项目根目录外创建一个文件夹。 第一步:获得项目的根目录,在项目的初始php文件(项目根目录/includes/init.php)加上常量定义就可以了。 define('ROOT_PATH', str_replace('includes/init.php', '', str_replac

cdy102688的专栏 5963

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

php获取站点根目录

将下面的代码放在网站根目录下的一个文件中,以便在其它文件中引用。 路径方式: define('BASE_PATH',str_replace('\\','/',realpath(dirname(__FILE__).'/'))."/"); echo BASE_PATH;   输出结果:E:/wwwroot/ url方式:   $PHP_SELF=$_SE

1274

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

php 获取网站根目录的写法

php 获取网站根目录的写法 最简单的全局变量函数就是$_SERVER[\'DOCUMENT_ROOT\']与$HTTP_SERVER_VARS[\'DOCUMENT_ROOT\']了,但是我们要调用文件的话就无法这样实现了,具体如何写呢,下面我们一起来看看. 用php开发网站的时候有时候经常要用到当前网站的根目录,比如包含一个文件,代码如下: include_once("./in...

dengliu_2017的博客 312

php文件require()引入注意事项

如果PHP语句放在一个HTML文件中,它是不会被处理的。但是,如果使用require()语句载入这个HTML文件,文件内的任何PHP命令都会被调用。因此,可以使用任何扩展名来命名包含文件,但要遵循一个约定,例如将扩展名命名为.inc或.php是一个很好的办法。 若不用.php扩展名命名,需要将待引入文件放置于文档树之外,避免用户在浏览器中直接载入后以文本形式查看源代码。 若扩展名为.php,但

u011109356的专栏 2323

Ecshop修改后台地址 路径.

1.修改data/config.php $admin_dir = "admin"; 修改为如下代码: $admin_dir = "自己想要的路径名字"; 分行 2.修改admin/index.php //货号 require_once(ROOT_PATH . 'admin/includes/lib_goods.php'); 修改为如下代码: require_once(

haha 1001

php获取项目根,php 获取项目根目录

背景:项目中需要找到一个文件位置存放临时生成的文件,放到项目根目录下,会造成项目文件大小很庞大的感觉,所以想在项目根目录外创建一个文件夹。第一步:获得项目的根目录,在项目的初始php文件(项目根目录/includes/init.php)加上常量定义就可以了。define('ROOT_PATH', str_replace('includes/init.php', '', str_replace('\...

weixin_29124971的博客 2017

php 文件式缓存类[转]

php操作IO的速度很快,估计是直接调用C的函数,拿来做缓存是不错的,CMS有大量类似的应用。 include目录config.php: 1 define('ROOT_PATH', str_replace('include/config.php', '', str_replace('\\', '/', __FILE__))); library目录 cls_filecache.ph...

weixin_30470643的博客 142

php定义根目录,定义网址

header('Content-type: text/html;charset=UTF-8'); define('FH_ROOT', str_replace("\\", '/', dirname(__FILE__))); define('FH_PATH', 'http://www.lianb.com/');

u012891324的专栏 672

phpems导出成绩增加自定义字段

导出成绩url:http://localhost/phpems/index.php?exam-teach-users-outscore&basicid=7 调用的文件:index.php  中 require "lib/init.cls.php"; 然后  include $modulefile; 即 app/exam/teach.php 中的这行: switch($

爱代码也爱生活 3110

prestashop代码分析之init.php

inti.php这个文件,是由head.php每次引入的,先来分析一下head.php 第一行是一个p3p的声明,作用是cookie的跨域使用,比如你iframe一个页面,这个页面是其他网站,这时候iframe里面的页面的cookie是不能随着头部发送回去的,所以cookie也无效,但是加了这个就可以了。原因我会写文章单独讲解 header('P3P: CP="IDC DS

程序员写的技术 FAQ 和杂文 1489

php编辑框架原理,php框架的制作原理

index.php 主入口文件define('ISEXIST',true);require "init.php";$control = newController();$control ->Run();?>-------------------------------------------------------------------------------------------...

weixin_39552317的博客 133

php 中init方法,php中init()函数和Linux系统的init进程

由于执行init()函数的内核线程和init进程的进程标识符都是1,它们又都叫init,因此init()函数和init进程容易造成概念上的模糊不清。主要区别:1、init()函数是内核代码的一部分,在内核态运行,是独立的可执行代码的一部分。2、init进程在Linux操作系统中是一个具有特殊意义的进程,它是由内核启动并运行的第一个用户进程,因此它不是运行在内核态,而是运行在用户态。它的代码不是内核...

weixin_36349918的博客 927
上一篇: ecshop 函数列表大全
下一篇: ECSHOP v2.0 以上版本伪静态开启说明
chensong0708
博客等级 码龄17年 13粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值