<?php
/**
+------------------------------------------------------------------------------
* 获取服务器信息类

+------------------------------------------------------------------------------
*/
class ServerInfo
{//类定义开始

/**
+----------------------------------------------------------
* 获取服务器时间
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerTime()
{
return date('Y-m-d H:i:s');
}

/**
+----------------------------------------------------------
* 获取服务器解译引擎
* 例如:Apache/2.2.8 (Win32) PHP/5.2.6
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerSoftwares()
{
return $_SERVER['SERVER_SOFTWARE'];
}

/**
+----------------------------------------------------------
* 获取php版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetPhpVersion()
{
return PHP_VERSION;
}

/**
+----------------------------------------------------------
* 获取Mysql版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetMysqlVersion()
{
$con = mysql_connect("localhost", "root", "root");
return mysql_get_server_info($con);
}

/**
+----------------------------------------------------------
* 获取Http版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetHttpVersion()
{
return $_SERVER['SERVER_PROTOCOL'];
}

/**
+----------------------------------------------------------
* 获取网站根目录
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetDocumentRoot()
{
return $_SERVER['DOCUMENT_ROOT'];
}

/**
+----------------------------------------------------------
* 获取PHP脚本最大执行时间
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetMaxExecutionTime()
{
return ini_get('max_execution_time').' Seconds';
}

/**
+----------------------------------------------------------
* 获取服务器允许文件上传的大小
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetServerFileUpload()
{
if (@ini_get('file_uploads')) {
return '允许 '.ini_get('upload_max_filesize');
} else {
return '<font color="red">禁止</font>';
}
}

/**
+----------------------------------------------------------
* 获取全局变量 register_globals的设置信息 On/Off
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetRegisterGlobals()
{
return $this->GetPhpCfg('register_globals');
}

/**
+----------------------------------------------------------
* 获取安全模式 safe_mode的设置信息 On/Off
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetSafeMode()
{
return $this->GetPhpCfg('safe_mode');
}

/**
+----------------------------------------------------------
* 获取Gd库的版本号
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetGdVersion()
{
if(function_exists('gd_info')){
$GDArray = gd_info();
$gd_version_number = $GDArray['GD Version'] ? '版本:'.$GDArray['GD Version'] : '不支持';
}else{
$gd_version_number = '不支持';
}
return $gd_version_number;
}

/**
+----------------------------------------------------------
* 获取内存占用率
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
public function GetMemoryUsage()
{
return $this->ConversionDataUnit(memory_get_usage());
}

/**
+----------------------------------------------------------
* 对数据单位 (字节)进行换算
+----------------------------------------------------------
* @access private
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
private function ConversionDataUnit($size)
{
$kb = 1024; // Kilobyte
$mb = 1024 * $kb; // Megabyte
$gb = 1024 * $mb; // Gigabyte
$tb = 1024 * $gb; // Terabyte
//round() 对浮点数进行四舍五入
if($size < $kb) {
return $size.' Byte';
}
else if($size < $mb) {
return round($size/$kb,2).' KB';
}
else if($size < $gb) {
return round($size/$mb,2).' MB';
}
else if($size < $tb) {
return round($size/$gb,2).' GB';
}
else {
return round($size/$tb,2).' TB';
}
}

/**
+----------------------------------------------------------
* 获取PHP配置文件 (php.ini)的值
+----------------------------------------------------------
* @param string $val
* @access private
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
private function GetPhpCfg($val)
{
switch($result = get_cfg_var($val)) {
case 0:
return '关闭';
break;
case 1:
return '打开';
break;
default:
return $result;
break;
}
}

/**
+----------------------------------------------------------
* 补充信息
+----------------------------------------------------------
* 补充信息
* 补充信息
+----------------------------------------------------------
* 补充信息
+----------------------------------------------------------
*/
public function Ver()
{
$Ver = array(
'PHP运行方式'=>php_sapi_name(),
'服务器域名/IP'=>$_SERVER['SERVER_NAME'].' [ '.gethostbyname($_SERVER['SERVER_NAME']).' ]',
'剩余空间'=>round((disk_free_space(".")/(1024*1024)),2).'M',
'register_globals'=>get_cfg_var("register_globals")=="1" ? "ON" : "OFF",
'magic_quotes_gpc'=>(1===get_magic_quotes_gpc())?'YES':'NO',
'magic_quotes_runtime'=>(1===get_magic_quotes_runtime())?'YES':'NO',
);
return $Ver;
}

}//类定义结束
date_default_timezone_set('PRC');
$ServerInfo = new ServerInfo();
$rs .= '服务器时间:'.$ServerInfo->GetServerTime().'<br>';
$rs .= '服务器解译引擎:'.$ServerInfo->GetServerSoftwares().'<br>';
$rs .= 'PHP版本:'.$ServerInfo->GetPhpVersion().'<br>';
$rs .= 'MYSQL版本:'.$ServerInfo->GetMysqlVersion().'<br>';
$rs .= 'HTTP版本:'.$ServerInfo->GetHttpVersion().'<br>';
$rs .= '网站根目录:'.$ServerInfo->GetDocumentRoot().'<br>';
$rs .= '最大执行时间:'.$ServerInfo->GetMaxExecutionTime().'<br>';
$rs .= '文件上传:'.$ServerInfo->GetServerFileUpload().'<br>';
$rs .= '全局变量 register_globals'.$ServerInfo->GetRegisterGlobals().'<br>';
$rs .= '安全模式 safe_mode'.$ServerInfo->GetSafeMode().'<br>';
$rs .= '图形处理 GD Library'.$ServerInfo->GetGdVersion().'<br>';
$rs .= '内存占用:'.$ServerInfo->GetMemoryUsage().'<br>';

echo $rs;
//补充信息
return $ServerInfo->Ver();
?>


<!--
结果是:



服务器时间:2010-09-27 09:01:05
服务器解译引擎:Apache/2.2.4 (Win32) PHP/5.2.3
PHP版本:5.2.3
MYSQL版本:5.0.45-community-nt-log
HTTP版本:HTTP/1.1
网站根目录:D:/AppServ/www
最大执行时间:30 Seconds
文件上传:允许 10M
全局变量 register_globals:关闭
安全模式 safe_mode:关闭
图形处理 GD Library:版本:bundled (2.0.34 compatible)
内存占用:95.63 KB
-->
 
---------------------------------------------------------------------------------------------
唯有志存高远,方能风行天下。

道之所存,虽千万人吾往矣! 情之所钟,虽千万里吾念矣~

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。