ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:39.64KB ,
资源ID:5067678      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(phpwind 系统globalphp文件讲解.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

phpwind 系统globalphp文件讲解.docx

1、phpwind 系统globalphp文件讲解phpwind 系统global.php文件讲解/此文件内容为全局变量和公用函数/定义只有运行错误和语法编译错误才会显示错误信息error_reporting(E_ERROR | E_PARSE);/设置php.ini中 magic_quotes_runtime 选项值为0/若 magic_quotes_runtime 打开时,所有外部引入的数据库资料或者文件等等都会自动转为含有反斜线溢出字符的资料。/0表示关闭此功能set_magic_quotes_runtime(0);/microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持

2、gettimeofday() 系统调用的操作系统下可用。/如果调用时不带可选参数,本函数以 msec sec 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。/用$t_array变量记录microtime()函数产生的msec和sec,此时$t_array代表数组$t_array = explode( ,microtime();/$P_S_T记录当前时间秒数$P_S_T = $t_array0 + $t_array1;/判断_FILE_是否为空,返回路径值

3、,并定义为D_P和R_P/其中_FILE_文件的完整绝对路径和文件名/D_P和R_P的区别在于,当论坛使用二级目录设置时,D_P用于分论坛,R_P用于记录总论坛目录的绝对路径/具体参考PHPWind论坛关于二级目录方面的说明/在没有使用这方面设置的时候这两个值相等define(D_P,_FILE_ ? getdirname(_FILE_)./ : ./);define(R_P,D_P);/销毁以下变量unset($_ENV,$HTTP_ENV_VARS,$_REQUEST,$HTTP_POST_VARS,$HTTP_GET_VARS,$HTTP_POST_FILES,$HTTP_COOKIE_

4、VARS);/get_magic_quotes_gpc函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 (单引号), (双引号), (反斜线) and 空字符会自动转为含有反斜线的溢出字符。/在magic_quotes_gpc功能关闭的情况下,对$_POST、$_GET、$_COOKIE中的特殊字符转义处理if(!get_magic_quotes_gpc()/$_POST 经由 HTTP POST 方法提交至脚本的变量。A

5、dd_S($_POST);/$_GET 经由 URL 请求提交至脚本的变量。Add_S($_GET);/$_FILES 通过 HTTP POST 方法传递的已上传文件项目组成的数组。Add_S($_FILES);/$_COOKIE 经由 HTTP Cookies 方法提交至脚本的变量。Add_S($_COOKIE);/$_SERVER 变量由 web 服务器设定或者直接与当前脚本的执行环境相关联。/如果服务器变量中存在HTTP_X_FORWARDED_FOR,则从中取得客户端ip,如果没有则到HTTP_CLIENT_IP中取,都没有则到REMOTE_ADDR中取/HTTP_CLIENT_IP,

6、HTTP_X_FORWARDED_FOR是代理的IP/这些IP头消息未必能够取得到(因为不同的浏览器不同的网络设备,可能发不同的IP头消息).所以PHP就尝试把每个IP头消息判断一下,若有,则取其中的一个./$c_agentip记录是否为代理ipif($_SERVERHTTP_X_FORWARDED_FOR)$onlineip = $_SERVERHTTP_X_FORWARDED_FOR;$c_agentip=1;elseif($_SERVERHTTP_CLIENT_IP)$onlineip = $_SERVERHTTP_CLIENT_IP;$c_agentip=1;else$onlineip

7、 = $_SERVERREMOTE_ADDR;$c_agentip=0;/str_replace 用指定的字符串替换在被搜索的字符串中找到的字符串;/第一个,要搜索的字符串,第二个为替换为的字符串,第三个被搜索的字符串/取得客户端ip值$onlineip = substrs(str_replace(n,$onlineip),16);/返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。$timestamp= time();/require_once require_once() 语句在脚本执行期间包含并运行指定文件。此行为和 require

8、() 语句类似,/唯一区别是如果该文件中的代码已经被包含了,则不会再次包含.应该用于在脚本执行期间同一个文件有可能被/包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。/包含require/defend.php文件,如果其中有重复包含,略过require_once(R_P.require/defend.php);/根据时区设置$db_cvtime取得正确的时间$timestamp$db_cvtime != 0 & $timestamp += $db_cvtime*60;/如果论坛运行在DEBUG模式下if($db_debug)/定义显示所有错误除了运行NOTICE

9、错误error_reporting(E_ALL E_NOTICE);/PHPWind论坛版本变量$wind_version = 4.3.2;/在线列表大小值$db_olsize = 96;/静态htm缓存目录名$htmdir = htm_data;/PHP_SELF 当前正在执行脚本的文件名,与 document root 相关/SCRIPT_NAME 当前执行脚本的绝对路径名,注: 如果脚本在 CLI 中被执行,作为相对路径,例如/file.php 或 ./file.php,$_SERVERSCRIPT_FILENAME 将包含用户指定的相对路径。/QUERY_STRING 查询(query

10、)的字符串(URL 中第一个问号 ? 之后的内容)。/如果PHP_SELF(当前正在执行脚本的文件名)为空,则设置其为SCRIPT_NAME(包含当前脚本的路径)!$_SERVERPHP_SELF & $_SERVERPHP_SELF=$_SERVERSCRIPT_NAME;/取得请求url完整的路径保存在$REQUEST_URI变量中$REQUEST_URI= $_SERVERPHP_SELF.?.$_SERVERQUERY_STRING;/判断当前执行文件名中是否包含静态目录$db_dir,如果包含,则if(strpos($_SERVERPHP_SELF,$db_dir)!=false)/

11、strpos 查找字符串第一次出现的位置,第一个为被查找的字符串,第二个为要查找的字符串。返回值为0,或/者被查找的字符第一次出现的数字位置的值;/取到静态目录前$tmp=substr($_SERVERPHP_SELF,0,strpos($_SERVERPHP_SELF,$db_dir);else/取全部$tmp=$_SERVERPHP_SELF;/HTTP_HOST-当前请求的 Host: 头信息的内容/设置论坛地址$db_bbsurl=http:/$_SERVERHTTP_HOST.substr($tmp,0,strrpos($tmp,/);/(int) 强制类型转换为整型/定义整型变量$

12、fid用于记录板块id$fid = (int)$fid;/定义整型变量$tid用于记录帖子id$tid = (int)$tid;/初始化附件保存目录$attachname及js脚本路径$js_path$attachname = $js_path = ;/包含data/bbscache/dbset.php文件,如果其中有重复包含,略过require_once(D_P.data/bbscache/dbset.php);/ob_start(ob_gzhandler);是一种压缩技术/ob_start();仅仅启动缓冲 并没有压缩输出/ob_start 用来 打开输出缓冲区。 当缓冲区激活时,所有来自

13、PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或者使用ob_end_clean()来输出缓冲区的内容。/是否允许GZIP 压缩输出,允许使用ob_gzhandler压缩技术,否则只启动缓冲$db_obstart = 1 ? ob_start(ob_gzhandler) : ob_start();/如果使用跨台固定图片链,则图片路径为$db_http,$imgpath= $db_http!= N ? $db_http : $picpath;/如果使用远程附件连接设置,则附件路径为$db_attachurl,否则使用$attac

14、hname附件保存目录$attachpath = $db_attachurl != N ? $db_attachurl : $attachname;/本地图片路径$imgdir= R_P.$picpath;/本地附件路径$attachdir= R_P.$attachname;/如果D_P和R_P不相等并且使用了跨台固定图片链,即使用了二级目录功能if(D_P != R_P & $db_http != N)/取总站论坛地址$R_url=substr($db_http,-1)=/ ?substr($db_http,0,-1) : $db_http;$R_url=substr($R_url,0,st

15、rrpos($R_url,/);else/总站论坛地址即全局变量$db_bbsurl中的论坛地址值$R_url=$db_bbsurl;/如果cookie中上次访问变量lastvisit值是否为空if(GetCookie(lastvisit)/取cookie中的上次访问变量lastvisit值,以t分割并分别赋于$c_oltime,$lastvisit,$lastpath/$c_oltime用户在线时间,$lastvisit上次访问时间,$lastpath上次访问路径list($c_oltime,$lastvisit,$lastpath) = explode(t,GetCookie(lastvi

16、sit);/判断现在和上次访问之间的时间差是否小于论坛设定的在线用户时限,如果小于,则用户此次在线时间累加相应时间数值($onbbstime=$timestamp-$lastvisit)$db_onlinetime & $c_oltime+=$onbbstime;else$lastvisit=$lastpath=;$c_oltime=0;/取在线偏移cookie(在线列表文件中的偏移量)$ol_offset = GetCookie(ol_offset);/取风格cookie$skinco = GetCookie(skinco);/若刷新预防时间不等于0if ($db_refreshtime!=

17、0)/$REQUEST_URI 访问此页面所需的 URI。/如果$REQUEST_URI与上次最后访问的路径相同,且与上次访问的时间差小于论坛设定的刷新预防时间if($REQUEST_URI=$lastpath & $onbbstime1800 | $CK1!=$manager | !SafeCheck($CK,PwdCode($manager_pwd)/取得风格值$skin= $skinco ? $skinco : $db_defaultstyle;/设置用户组为空$groupid = ;/转页面显示$db_whybbsclose信息即论坛关闭的原因Showmsg($db_whybbsclo

18、se);/gmdate - 格式化一个 GMT/UTC 日期时间/date - 格式化一个本地时间日期,返回将整数 timestamp 按照给定的格式字串而产生的/字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。注:/有效的时间戳典型范围是格林威治时间 1901 年 12 月 13 日 20:45:54 到 2038 年 1 月 19 日/03:14:07。(此范围符合 32 位有符号整数的最小值和最大值)。不过在 PHP 5.1 之前此范围在某些系统/(如 Windows)中限制为从 1970 年 1 月 1 日到 2038 年

19、1 月 19 日。/格式字串可以识别以下 format 参数的字符串 format 字符 说明 返回值例子/日 - -/d 月份中的第几天,有前导零的 2 位数字 01 到 31/D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun/j 月份中的第几天,没有前导零 1 到 31/l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday/N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)/S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用/w 星期中的第几天,

20、数字表示 0(表示星期天)到 6(表示星期六)/z 年份中的第几天 0 到 366/星期 - -/W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的)/月 - -/F 月份,完整的文本格式,例如 January 或者 March January 到 December/m 数字表示的月份,有前导零 01 到 12/M 三个字母缩写表示的月份 Jan 到 Dec/n 数字表示的月份,没有前导零 1 到 12/t 给定月份所应有的天数 28 到 31/年 - -/L 是否为闰年 如果是闰年为 1,否则为 0/o ISO-8601 格式年份数字。这和 Y 的值相同,

21、只除了如果 ISO 的星期数(W)属于前一年或下一年,则用/那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003/Y 4 位数字完整表示的年份 例如:1999 或 2003/y 2 位数字表示的年份 例如:99 或 03/时间 - -/a 小写的上午和下午值 am 或 pm/A 大写的上午和下午值 AM 或 PM/B Swatch Internet 标准时 000 到 999/g 小时,12 小时格式,没有前导零 1 到 12/G 小时,24 小时格式,没有前导零 0 到 23/h 小时,12 小时格式,有前导零 01 到 12/H 小时,24 小时格式,有前导零

22、 00 到 23/i 有前导零的分钟数 00 到 59/s 秒数,有前导零 00 到 59/时区 - -/e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores/I 是否为夏令时 如果是夏令时为 1,否则为 0/O 与格林威治时间相差的小时数 例如:+0200/T 本机所在的时区 例如:EST,MDT(在 Windows 下为完整文本格式,例如“Eastern/Standard Time”,中文版会显示“中国标准时间”)。/Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200/完整的日期

23、时间 - -/c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00/r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200/U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 参见 time()/格式字串中不能被识别的字符将原样显示。Z 格式在使用 gmdate() 时总是返回 0。/取当前默认时区时间的24小时时间值,赋于$thours$t= array(hours=gmdate(G,$timestamp+$db_timedf*3600);/floor

24、 - 舍去法取整/今天的起始时间$tdtime= (floor($timestamp/3600)-$thours)*3600;/是否需要更新在线情况标记$runfc= N;/如果上次访问时间和当前时间的时间差大于论坛设置的在线用户时限/或者板块$fid不为空且不等于cookie中的上次访问板块id/或者上次访问板块id的cookie存在且$wind_in(论坛动作)为hm(论坛首页)if($timestamp-$lastvisit$db_onlinetime | ($fid & $fid != GetCookie(lastfid) | (GetCookie(lastfid) & $wind_i

25、n=hm)/设置cookie中上次访问板块idCookie(lastfid,$fid);/设置$runfc为Y$runfc=Y;/包含data/userglobal.php文件,如果其中有重复包含,略过require_once(R_P.require/userglobal.php);/包含require/db_.$database.php文件,如果其中有重复包含,略过(此处为db_mysql.php)require_once(R_P.require/db_.$database.php);/创建数据库连接$db = new DB($dbhost, $dbuser, $dbpw, $dbname, $pconnect);/销毁$dbhost,$dbuser,$dbpw,$dbname,$pconnect,$manager_pwd变量unset($dbhost,$dbuser,$dbpw,$dbname,$pconnect,$manager_pwd);/从cookie中取得wi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1