首页 > php代码 > php 域名转发程序

php 域名转发程序

php 域名转发程序是我从其它地方看到了,通过xml与php交换实现的,下面我们来看看源文件吧。

<xml version = "1.0" encoding = "utf-8" ?>
<urls>
 <num>1</num>
 <url id="1">
  <domain>test.domain.com</domain>
  <to>http://www.phprm.com/</to>
 </url>
</urls>

index.php文件。

<?php
/*
域名伪跳转方案
By IVershuo.cn
*/
header("content-type:text/html; charset=utf-8");
$xml = simplexml_load_file("url.xml"); //xml文件路径
$to = 'http://www.phprm.com'; //默认跳转地址
foreach ($xml as $key => $value) {
    if ($value->domain == $_SERVER['SERVER_NAME']) {
        $to = $value->to;
        break;
    }
}
header('Location: ' . $to);
?>

处理文件

<?php
/*
域名伪跳转方案,域名跳转配置脚本
###注意:没设置验证可配置,使用时请修改该文件名和xml文件名!!!
*/
$xmlFile = 'url.xml'; //xml文件的路径
$xml = simplexml_load_file($xmlFile);
$num = $xml->num[0];
if (@$_POST['domain'] && $_POST['to']) {
    $xmlUrl = $xml->addChild('url');
    $xmlUrl->addAttribute('id', $num+= 1);
    $xmlUrl->addChild('domain', $_POST['domain']);
    $xmlUrl->addChild('to', $_POST['to']);
    $xml->num[0] = $num;
}
if (@$_GET['del']) {
    removeNode($xml, "//url[@id='" . $_GET['del'] . "']", 'all');
    $xml->num[0] = $num;
}
$sp = fopen($xmlFile, "wb");
fwrite($sp, $xml->asXML());
fclose($sp);
function removeNode($xml, $path, $multi = 'one') {
    $result = $xml->xpath($path);
    // for wrong $path
    if (!isset($result[0])) return false;
    switch ($multi) {
        case 'all':
            $errlevel = error_reporting(E_ALL & ~E_WARNING);
            foreach ($result as $r) unset($r[0]);
            error_reporting($errlevel);
            return true;
        case 'child':
            unset($result[0][0]);
            return true;
        case 'one':
            if (count($result[0]->children()) == 0 && count($result) == 1) {
                unset($result[0][0]);
                return true;
            }
        default:
            return false;
        }
}
echo '<?xml version="1.0" encoding="utf-8"?>' . "n";
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>域名添加</title>
<meta name="author" content="阿肆" />
<style type="text/css">
label {display:block;margin:10px 0;}
input {width:300px;}
label span {color:#666;}
</style>
<script type="text/javascript" src=""></script>
</head>
<body>
 <h1>域名转向添加</h1>
 <div>
  <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">  
   <fieldset>
   <legend>域名添加</legend>
    <label for="domain">
     域名:
     http://<input type="text" name="domain" id="domain" />
     <span>不用加"http://"</span>
    </label>
    <label for="to">
     转向:
     <input type="text" name="to" id="to" value="http://" />
     <span>前面添加"http://"或"https://"等</span>
    </label>
    <button type="submit">提交</button>
   </fieldset>
  </form>
 </div>
 <div>
  <ul id="listed">
<?php
$i = 0;
foreach ($xml as $key => $value) {
    if ($key == 'url') {
        echo '<li><em>http://' . $value->domain . '</em>跳转到<a href="' . $value->to . '">' . $value->to . '</a>&nbsp;<a href="' . $_SERVER['PHP_SELF'] . '?del=' . $xml->url[$i]['id'] . '">&gt;删除&lt;</a></li>';
        $i++;
    }
}
?>
<script type="text/javascript">
 var li = document.getElementById('listed').getElementsByTagName('li');
 for (var i = 0, l = li.length; i < l; i++) {
 li[i].getElementsByTagName('a')[1].onclick = function () {
 var u = this.parentNode.getElementsByTagName('em')[0].innerHTML;
 if (confirm('确定要删除 ' + u + ' 的转向?')) {
 return true;
 } else {
 return false;
 }
 }
 }
</script>
  </ul>
 </div>
 </body>
</html>


文章链接:http://www.phprm.com/code/b7f65d9656470328cafc3c3144d74d95.html

随便收藏,请保留本文地址!

标签:none

发表留言