PHP 获取系统信息,PHP 获取服务器详细信息

2011-3-3 寒川 网页编程

最近花时间简单的写了个企业级CMS,后台用到获取相关系统参数,贴这儿,没准啥时候还能用。

获取系统类型及版本号:    php_uname()                                   (例:Windows NT COMPUTER 5.1 build 2600)
只获取系统类型:          php_uname('s')                                (或:PHP_OS,例:Windows NT)
只获取系统版本号:        php_uname('r')                                (例:5.1)
获取PHP运行方式:         php_sapi_name()                               (PHP run mode:apache2handler)
获取前进程用户名:        Get_Current_User()
获取PHP版本:             PHP_VERSION
获取Zend版本:            Zend_Version()
获取PHP安装路径:         DEFAULT_INCLUDE_PATH
获取当前文件绝对路径:    __FILE__


获取Http请求中Host值:    $_SERVER["HTTP_HOST"]                         (返回值为域名或IP)
获取服务器IP:            GetHostByName($_SERVER['SERVER_NAME'])
接受请求的服务器IP:      $_SERVER["SERVER_ADDR"]                       (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))
获取客户端IP:            $_SERVER['REMOTE_ADDR']
获取服务器解译引擎:      $_SERVER['SERVER_SOFTWARE']
获取服务器CPU数量:       $_SERVER['PROCESSOR_IDENTIFIER']
获取服务器系统目录:      $_SERVER['SystemRoot']
获取服务器域名:          $_SERVER['SERVER_NAME']                       (建议使用:$_SERVER["HTTP_HOST"])
获取用户域名:            $_SERVER['USERDOMAIN']
获取服务器语言:          $_SERVER['HTTP_ACCEPT_LANGUAGE']
获取服务器Web端口:       $_SERVER['SERVER_PORT']

标签: php 系统 cms

评论(15) 浏览(21656)

调整PHP和MySQL的时区,实现同步显示中国时间

2010-10-27 寒川 网页编程

现在很多朋友购买国外主机,可是国外主机显示的是当地时间,如何设置成国内时间呢?

所谓的时间问题归根结底也就是“时区”问题,我们首先要知道的是:

1、美国时间和中国时间相差应该是8小时。
2、PHP的时间和MySQL的时间不是相同的。

所以,我们所要做的事情就是:

1、把美国时间改成中国时间。
2、并且要把PHP的时间和MySQL的时间统一。


一、修改PHP时间

听上去有点小复杂,其实很简单。首先我们来改PHP的时间,将这句代码插入到PHP程序中,公共调用页的顶部(也就是要include_once,require_once到的脚本里,当然你不用_once我也没有意见),确保需要用到时间的页面都必须调用到:复制内容到剪贴板代码:

date_default_timezone_set('PRC') or die('时区设置失败,请联系管理员!');现在测试下:复制内容到剪贴板代码:

echo date('Y-m-d H:i:s');怎么样?哇哈哈,正确显示中国时间了,当然你要说北京时间我也没意见。至于那个参数PRC是什么意思,我记得是某个神奇的土地之缩写,不用管它,照搬就行了,错不了的。成功了?NO,不要得意得太早,在MySQL里输入语句SELECT NOW();你会惊愕的发现,MySQL的时间还是美国时间。不急,我们继续下一步。



二、修改MySQL时间

如果你在写程序的时候,习惯了用类或者函数,那么恭喜你,这一步你同样只需要一次复制粘贴操作就能将它解决。如果你在写程序的从来不用类或者函数,那么我会祈祷耶稣和释迦牟尼一同保佑你,不会在改程序的时候累得很惨,同时希望你改掉这个不好的编程习惯。那么,就请在PHP程序有数据库连接的下一语句(只有1次,就加1句;若有无数次,就加无数次……这个编程习惯,还是重要啊)加入如下代码:复制内容到剪贴板代码:

mysql_query("SET time_zone = '+8:00'") or die('时区设置失败,请联系管理员!');再去SELECT NOW();下,你会惊喜地发现,MySQL也是中国时间了。为什么是+8:00呢?前面我说过了,中国时间和美国时间差8小时,往那个那个貌似向东还是向西的方向来着?(不好意思我是路盲,我在怪地球是圆的)。OK,现在MySQL的时间也搞定了,我相信现在就会有比较严谨朋友问了:那你如何证明PHP的时间和MySQL的时间是同步呢?啊……这个人与人之间的信任,还是重要的,就像汇款,哈哈,那我们来做个测试吧:复制内容到剪贴板代码:

//这里是页面的开头,用于改PHP时间的代码。
date_default_timezone_set('PRC') or die('时区设置失败,请联系管理员!');

//-------------------------------------------------------------
//
// 这里写数据库连接的代码,别懒,自己写。
//
//-------------------------------------------------------------

//数据库一旦连接,紧跟着就是改MySQL时间的代码。
mysql_query("SET time_zone = '+8:00'") or die('时区设置失败,请联系管理员!');

//显示PHP的时间
echo date('Y-m-d H:i:s');

echo


//显示MySQL的时间
$mysql_time = mysql_query("SELECT NOW()");
$mysql_rows = mysql_fetch_row($mysql_time);

echo $mysql_rows[0];

来自百度

标签: php 脚本 编程 mysql

评论(14) 浏览(16160)

discuz分区伪静态

2010-9-23 寒川 网页编程

前几天装了discuz7.2,并用的伪静态,直到刚刚才发现discuz伪静态不全,其分区居然仍然为动态页面。这可不太好,要么统一用动太,要么统一用静态,百度google了办天,没有任何结果。于是只好自己动手了。废话不多说,请看仔细了(以下教程以disucz默认模板为例,其它模板可能有点出入):
一、修改模板,打开templates/default/discuz.htm文件,大约在40行处找到如下代码:
<h3><a href="$indexname?gid=$cat[fid] " style="{if $cat[extra][namecolor]}color: {$cat[extra][namecolor]};{/if}">$cat[name]</a></h3>

将其改为:
<h3><a href="forum-$cat[fid].html " style="{if $cat[extra][namecolor]}color: {$cat[extra][namecolor]};{/if}">$cat[name]</a></h3>

请注意红色部分的变化。

二、修改.htaccess,在htaccess中增加一行如下:
RewriteRule ^(.*)/forum-([0-9]+)\.html$ $1/index\.php\?gid=$2

注意:修改首页文件的朋友注意棕色部分的index\.php改为您的首页文件。

给个演示地址:http://www.gamelue.com/forum 请查看论坛分区部分的伪静态。

标签: discuz 伪静态

评论(3) 浏览(13208)

千万别频繁改网站title

2010-9-22 寒川 网页编程

我说千万别频繁改网站标题,是对想在搜索引擎中取得好的排名者而言。至于不在乎流量或者跟本就不期望别人访问的网站不在此列。说这话并不是仅是别人告诉我的,而是自己亲自体会到了。前段时间建了个游戏攻略类的网站 ,不到两月时间,网站title已经改过3次了,说说这三次改title的感受。

第一次,建站十多天后,百度一直没来光顾一下,于是改了一下网站title,好像还是没多少效果,但就在想删站重做的时候,也是改title的第二天,site了一下,百度来了,而且共收录了大约1080篇内容;此时google才几百篇。第一次改title的第三天,百度收录为1040篇,第四天还是1040篇,一直到第n天,变成1020篇,忍不住了,再改下title,到第二天site,百度反而多了。。google不温不热,老样子。我想还是坚持下去吧,以后不改了,继续更新文章,又是n天低谷,貌似坚持过去了,百度收录1270,一两天就来一次,很好。但有一天,网站某个关键词排名降了三名(百度首页),此时google收录达4000多,又慌了。。,于是前天又改title了,而且改成了长title,改了后第二天就后悔了,本来按正常推算,百度后google都要来更新的,但百度并没来,google从4000也变成了3000多点,郁闷啊。。。第三次改title两天了,到今天还是没好转。希望尽快稳定下来,下次一定不再乱改了。

标签: google 百度 title 网站标题 游戏攻略

评论(12) 浏览(14156)

小技巧,让ul中li分列显示

2010-9-13 寒川 网页编程

让ul中li分列显示,这个困挠很久的一个问题得以圆满解决,写下来,以备以后不时之需。用li显示两列如下(要显视多列的自己想办法,哈哈):

<ul>
  <li style="display:block;float:left;width:50%"><a href="url"> afaf</a> </li>
  <li style="display:block;float:left;width:50%"><a href="url"> afaf</a> </li>
</ul>

float真是有

标签: li分列显示

评论(9) 浏览(18948)

网站模板调试,本地浏览正常,但上传后在IE6中是乱的

2010-9-11 寒川 网页编程

今天还真遇到怪事情了,最近用dedecms仿的一个模板在本地和在服务器上分别用IE6、IE8、Opera及Google浏览测试,IE8、Opera及Google都没问题,偏偏IE6感冒了,本地测试好好的,一上了服务器就出问题了。也不清楚是什么原因。。郁闷……地址:www.gamelue.com

下面贴图:
IE6本地测试效果:

点击查看原图

IE6下服务器上的效果:

点击查看原图

2010年9月13日:问题找到了:字符编码的问题,部份css文件字符编码是gbk,部份的确是utf-8,都改成utf-8就解决了。

标签: dedecms IE6 模板

评论(5) 浏览(11892)

如何用正则表达式匹配指定字符开始和指定字符结束

2010-8-27 寒川 网页编程

今天用dedecms写采集规则的时候发现一不小心,把大量无用的字符也采集下来了,重写规则重新集采是不太可能的了,那么多的数据,好再dedecms功能很强大,即使采集下来后也可用替换功能将无用字符给替换掉,于是有了今天的问题。正则匹配指定字符开始和指定字符结束,如以a开始结束的正则表达式为:a.*?b ,即以a开始b结束的字符可能被匹配。顺便将dedecms批量改动太的sql语句记下来,伪静太或动态页面的时候很有用。
进入后台→系统→SQL命令行工具→运行SQL命令行: 单行命令执行查询命令:
1.将所有文档设置为“仅动态”:update dede_archives set ismake=-1
2.将所有文档设置为“仅静态”:update dede_archives set ismake=1
3.将所有栏目设置为“使用动态页”: update dede_arctype set isdefault=-1
4.将所有栏目设置为“使用静态页”: update dede_arctype set isdefault=1

标签: sql dedecms 正则

评论(2) 浏览(18726)

Powered by emlog 蜀ICP备12030225号

川公网安备 51042102000001号

sitemap