M.A.I.T小麦
(M.A.I.T小麦)
中级会员
 
中级会员
UID 31524
精华
0
积分 203
帖子 219
金钱 203 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-9-28
状态 离线
|
[推荐阅读] Php文件中的汉字变成了乱码?
看看这个
<?php # 文件作用: IIS操作类 # # 原始文件名: IIS.inc.php # # 最后修改: 2005-5-6 M.A.I.T小麦 QQ: 79498317 # # Email: [email]M.A.I.T@163.com[/email] # # ADSI开发文档: [url]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/8aa1c008-c335-49b1-95c7-eb17e13bc756.asp[/url]
if(!defined("__CLASS_CACHE__")) { define("__CLASS_CACHE__",1);
class IIS { var $IIsObj; var $IIShost; # IIS主机 var $TmpIIsAllDate = array(); # IIS全部站点信息 var $TmpIIsDate = array(); # IIS站点信息 var $SiteNum; var $MinIISport; # 开始端口 var $MaxIISport; # 结束端口
function IIS( $IIShost='localhost',$MinIISport=2222,$MaxIISport=6000,$GuestUserName=IIS_GUEST_USER_NAME,$GuestUserPass=IIS_GUEST_USER_PASS) { $this->IIShost = $IIShost; $this->MinIISport = $MinIISport; $this->MaxIISport = $MaxIISport; $this->GuestUserName = $GuestUserName; $this->GuestUserPass = $GuestUserPass; $this->linkIIS(); }
function linkIIS() { $this->IIsObj = new COM("IIS://".$this->IIShost."/w3svc"); }
## # 获取IIS全部站点信息 # function getAllSite() { .... }
## # 获取IIS站点总数 # function getSiteNum() { if(empty($this->TmpIIsAllDate)) $this->getAllSite();
$this->SiteNum = count($this->TmpIIsAllDate); return $this->SiteNum; }
## # 通过站点名称获取IIS站点信息 # function getSiteByIISname($IISname) { ..... }
## # 通过站点描述获取IIS站点信息 # function getSiteByIISbewrite($IISbewrite,$IIsAllDates) { if(empty($this->TmpIIsAllDate)) $this->getAllSite(); $tmpdate = $this->TmpIIsAllDate; foreach($tmpdate as $k=>$v) { if($v['bewrite']==$IISbewrite) $TmpIIsDate = $v; } return $TmpIIsDate; }
## # 添加站点,ID和端口一样 # $IISname 站点端口=ID # $IISbewrite 站点描述 # $IISipDeny 站点IP # $IIShostHeader 主机头 # $LogType LOG记录 # $MaxBandwidth 带宽限制 # $MaxConnections 连接数限制 # $RootDir 站点根目录 # $AllowIp 允许访问IP # $VirtualDirs 虚拟目录 array(name=>path,name2=>path2) # function AddSite($IISname='',$IISbewrite,$RootDir,$AllowIp='',$VirtualDirs='',$MaxBandwidth='81920',$MaxConnections='1',$IISipDeny='',$IIShostHeader='',$LogType='0') { if(empty($this->IIsObj)) $this->linkIIS();
if(empty($IISbewrite)|| empty($RootDir)) return false;
if(!$this->CheckSiteBewrite($IISbewrite)) return false;
if(empty($IISname)) $IISname = $this->CheckSiteName();
$IIsSiteChk = @new COM("IIS://".$this->IIShost."/w3svc/".$IISname); if(!empty($IIsSiteChk)) return false;
$IIsSite = $this->IIsObj->Create("IIsWebServer",$IISname);
# 站点属性 $NewBindings = array(); $NewBindings[] = $IISipDeny.":".$IISname.":"; com_set($IIsSite,"ServerBindings",$NewBindings); com_set($IIsSite,"ServerComment",$IISbewrite); com_set($IIsSite,"KeyType","IIsWebServer"); com_set($IIsSite,"AnonymousUserName",$this->GuestUserName); com_set($IIsSite,"AnonymousUserPass",$this->GuestUserPass); com_set($IIsSite,"LogType",$LogType); com_set($IIsSite,"MaxBandwidth",$MaxBandwidth); com_set($IIsSite,"MaxConnections",$MaxConnections); com_set($IIsSite,"ContentIndexed",true); com_set($IIsSite,"DontLog",true); com_set($IIsSite,"EnableDefaultDoc",False); $IIsSite->SetInfo();
$DirSite = $IIsSite->Create("IIsWebVirtualDir", "ROOT");
# 目录属性 com_set($DirSite,"Path",$RootDir); com_set($DirSite,"AccessRead",True); # 允许访问IP if(!empty($AllowIp)) { $MyIPSec = com_get($DirSite,"IPSecurity"); if(com_get($MyIPSec,"GrantByDefault")) com_set($MyIPSec,"GrantByDefault",FALSE); com_set($MyIPSec,"IPGrant",$AllowIp.",255.255.255.255"); com_set($DirSite,"IPSecurity",$MyIPSec); } $DirSite->SetInfo();
# 设置虚拟目录 if(!empty($VirtualDirs)) { foreach($VirtualDirs as $k=>$v) { $vDirSite = "vDirSite".$k; $$vDirSite = $DirSite->Create("IIsWebVirtualDir", $k); com_set($$vDirSite,"AccessRead",true); com_set($$vDirSite,"Path",$v); $$vDirSite->SetInfo(); } }
return true; }
## # 生成唯一站点ID # function CheckSiteName() { if(empty($this->TmpIIsAllDate)) $this->getAllSite();
$IISname = rand($this->MinIISport,$this->MaxIISport); foreach($this->TmpIIsAllDate as $k=>$v) { if($v['name']==$IISname ) $check = true; } if($check == true) $this->CheckSiteName(); return $IISname; }
## # 检测站点描述 # function CheckSiteBewrite($IISbewrite) { if(empty($this->TmpIIsAllDate)) $this->getAllSite();
foreach($this->TmpIIsAllDate as $k=>$v) { if( $v['bewrite']==$IISbewrite ) return false; } return true; }
## # 删除站点 # function DelSite($IISname) { if(empty($this->IIsObj)) $this->linkIIS();
if(empty($IISname)) return false; if(@$this->IIsObj->delete("IIsWebServer",$IISname)) return true; else return false; }
## # 添加虚拟目录 # function AddVirtualDir($IISname,$VirtualDirName,$VirtualDirPath,$AllowIp='',$IISipDeny='') { ..... }
} ?>
附件: 您所在的用户组无法下载或查看附件
|
|