<table cellspacing="0" cellpadding="0"> <tr> <td class="t_f" id="postmessage_65137"> <div class="blockcode"> <div id="code_b1s"><ol> <li> <?php <li> <li> 정의('HOST_FILE', 'C:WindowsSystem32driversetchosts') <li> <li> $hm = new HostManage(HOST_FILE); <li> <li> $env = $argv[1]; <li> if (empty($env)) { <li> $hm->delAllGroup() </li> <li> } else { </li> <li> $hm ->addGroup($env); </li> <li> } </li> <li> </li> <li> class HostManage { </li> <li> </li> <li> // 호스트 파일 경로</li> <li> protected $file </li> <li> // 레코드 배열 호스트</li> <li> protected $hosts = array(); </li> <li> // 구성 파일 경로, 기본값은 __FILE__ . </li> <li> protected $configFile </li> <li> // ini 구성 파일에서 읽은 구성 배열 $config = array(); </li> <li> // 구성 파일에 구성할 도메인 이름 </li> <li> protected $domain = array() </li> <li> // 구성 파일에서 가져온 IP 데이터 </li> <li> protected $ ip = array(); </li> <li> </li> <li> 공개 함수 __construct($file, $config_file = null) { </li> <li> $this->file = $file </li> <li> if ($config_file) { </li> <li> $ this->config_file = $config_file; </li> <li> } else { </li> <li> $this->configFile = __FILE__ .ini' </li> <li> } </li> <li> $this->initHosts() </li> <li> ->initCfg(); </li> <li> } </li> <li> </li> <li> 공용 함수 __destruct() { </li> <li> $this->write() </li> <li> } </li> <li> </li> <li> 공용 함수 initHosts( ) { </li> <li> $lines = file($this->file); </li> <li> foreach ($lines as $line) { </li> <li> $line = Trim($line) </li> <li> if (empty($ line) ) || $line[0] == '#') { </li> <li> 계속; </li> <li> } </li> <li> $item = preg_split('/s /', $line) </li> <li> $this-> ; 호스트[$item[1]] = $item[0]; </li> <li> } </li> <li> return $this </li> <li> } </li> <li> </li> <li> public function initCfg() { </li> <li> if (!file_exists ( $this->configFile)) { </li> <li> $this->config = array(); </li> <li> } else { </li> <li> $this->config = (parse_ini_file($this->configFile, true )); </li> <li> $this->domain = array_keys($this->config['domain']) </li> <li> $this->ip = $this->config[ ' ip']; </li> <li> return $this; </li> <li> } </li> <li> </li> <li> /**</li> <li> * 구성 파일에서 도메인의 호스트를 삭제하세요 </li> <li>*/ </li> <li> 공개 함수 delAllGroup() { </li> <li> foreach($this->domain $domain) { </li> <li> $this->delRecord($domain); </li> <li> } </li> <li> } </li> <li> </li> <li> /**</li> <li> * 지정된 IP로 도메인 구성 </li> <li> * @param type $env </li> <li> * @return HostManage </li> <li>*/ </li> <li> 공용 함수 addGroup($env ) { </li> <li> if (!isset($this->ip[$env])) { </li> <li> return $this </li> <li> } </li> <li> foreach ($this->domain as $domain) { </li> <li> $this->addRecord($domain, $this->ip[$env]) </li> <li> } </li> <li> return $this </li> <li> } </li> <li> </li> <li> /**</li> <li> * 호스트 레코드 추가 </li> <li> * @param type $ip </li> <li> * @param type $domain </li> <li>*/ </li> <li> function addRecord($domain, $ip) { </li> <li> $this->hosts[$domain] = $ip </li> <li> return $this </li> <li> } </li> <li> </li> <li> /**</li> <li> * 호스트 레코드 삭제 </li> <li> * @param type $domain </li> <li>*/ </li> <li> function delRecord($domain) { </li> <li> unset($this->hosts[$domain]) </li> <li> return $this </li> <li> } </li> <li> </li> <li> /**</li> <li> * 호스트 파일 쓰기 </li> <li>*/ </li> <li> 공용 함수 write() { </li> <li> $str = '' </li> <li> foreach ($this->hosts as $domain => $ip) { </li> <li> $str .= $ip . $domain </li> <li> }</li> <li> file_put_contents($this->file, $str); </li> <li> return $this </li> <li> } </li> <li> </li> <li> } </li> </ol></div> <em onclick="copycode($('code_b1s'));">코드 복사</em> </div> php 호스트.php # 도메인 이름의 호스트 구성 삭제 <div class="blockcode"> <div id="code_bYV"><ol>코드 복사<li> <li> </li> <li> </ol></div> <em onclick="copycode($('code_bYV'));"> </em> 호스트, PHP</div> <br> </td> </tr> </table> <div class="ptg mbm mtn"> </div>