当前位置:  编程技术>php
本页文章导读:
    ▪php 实现dns域名查询的方法详解(图文)      在php中与域名相关的操作,一般会用到二个函数,它们分别是:gethostbyname() 与gethostbyaddr()。 一,IP地址查询 gethostbyname()函数,可以用来查找一个给定的域名的IP地址。 gethostbyname()返回对.........
    ▪php 从url中获取文件扩展名      php提取url中的文件扩展名。 例如,从url http://www./index.html?id=1中提取文件的扩展名,则返回.html。 代码: <?php /** * 给定url,获取文件后缀 * @param string $url * @return string * @site www. .........
    ▪php 计算两个文件的相对路径的实现代码      计算出两个文件的相对路径。 例如,有文件如下: $a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php"。 那么如何计算出B相对于A的相对路径呢? 代码: <?php /** * 求$b相对于$a的相对路径 * @param string .........

[1]php 实现dns域名查询的方法详解(图文)
    来源: 互联网  发布时间: 2013-12-24

在php中与域名相关的操作,一般会用到二个函数,它们分别是:gethostbyname() 与gethostbyaddr()。

一,IP地址查询
gethostbyname()函数,可以用来查找一个给定的域名的IP地址。
gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。

string gethostbyname(string hostname)
参数:主机名,不需要http://,例如:www.。
本函数可返回某个机器名称 (Domain Name) 的 IP 网址 (IP Address)。若执行失败,则返回原来的机器名称。

二,域名查询

gethostbyaddr 返回机器名称。

语法: string gethostbyaddr(string ip_address);

返回值: 字符串

函数种类: 网络系统

内容说明

本函数可返回某个 IP 网址的机器名称 (Domain Name)。若执行失败,则返回原来的 IP 网址。

三,实例
以下代码实现域名IP地址与域名查询,是个不错的例子。
 

<?php 
// dnslookupip.php - DNS/IP Address Lookup 

// Page title 
$pagetitle        = 'PHP域名查询程序'; 

// Prompts 
$prompt_ip        = 'IP Address'; 
$prompt_dn        = 'Domain Name'; 

// Messages 
$lookupfail        = '<span >* lookup failed *</span>'; 

// Get submitted host/domain name 
$dn    = isset($_REQUEST['dn']) ? $_REQUEST['dn'] : ''; 
if ($dn == $prompt_dn) 
{ 
    $dn = ''; 
} 

// Get submitted ip address 
$ip    = isset($_REQUEST['ip']) ? $_REQUEST['ip'] : ''; 
if ($ip == $prompt_ip) 
{ 
    $ip = ''; 
} 

// Check if host/domain name specified 
if ($dn) 
{ 
    // Domain name specified; IP address lookup request 
    if ($dn == 'me') 
    { 
        $ip = $_SERVER['REMOTE_ADDR']; 
    } 
    else 
    { 
        // Lookup IP address by domain/host name 
        $ip = @gethostbyname($dn); 
        if ($ip == $dn) 
        { 
            $ip = $lookupfail; 
        } 
    } 
    $message = $prompt_dn.' '.$dn.' :: '.$prompt_ip.' '.$ip; 
} 
// Check if IP address specified 
else if ($ip) 
{ 
    // Lookup domain/host name by IP address     
    $dn = @gethostbyaddr($ip); 
    // Check lookup 
    if ($dn == $ip) 
    { 
        // IP address invalid or domain name not found 
        $dn = $lookupfail; 
    } 
    $message = $prompt_ip.' '.$ip.' :: '.$prompt_dn.' '.$dn; 
} 
else 
{ 
    $message = $prompt_dn.' '.$_SERVER['HTTP_HOST'] 
        .' :: '.$prompt_ip.' '.$_SERVER['SERVER_ADDR']; 
} 
?> 
<html> 
<head> 
<title><?php echo $pagetitle;?></title> 
</head> 
<body > 
<h3 ><?php echo $pagetitle;?></h3> 
<hr /> 
<p > 
<?php echo $message;?> 
</p> 
<form > 
<input  type="text" name="dn" 
    value="<?php echo $prompt_dn;?>" size="30" /> 
<input  type="text" name="ip"  
    value="<?php echo $prompt_ip;?>" size="15" />  
<input  type="submit" value="Lookup" /> 
</form> 
<hr /> 
<p > 
Copyright &#169; 2003-<?php echo date('Y');?> 
 by <a href="http://www." target="_top">,欢迎您!</a> 
</p> 
</body> 
</html> 

以上代码,图示:

您可能感兴趣的文章:
PHP获取域名的几个全局变量
php 从url中获取域名的实例代码
php获取站点的来路域名的方法
探讨:PHP获取域名及域名IP地址的方法
php获取URL中domain域名的代码一例
PHP正则匹配获取URL中域名的代码
PHP获取当前网址及域名的代码
php正则表达式匹配URL中的域名
PHP调用万网接口实现域名查询的功能


    
[2]php 从url中获取文件扩展名
    来源: 互联网  发布时间: 2013-12-24

php提取url中的文件扩展名。
例如,从url http://www./index.html?id=1中提取文件的扩展名,则返回.html。

代码:

<?php
 
/**
 * 给定url,获取文件后缀
 * @param string $url
 * @return string
 * @site www.
 */
function getUrlPostfix ($url)
{
    $url_arr = explode('.', $url);
    $postfix = $url_arr[count($url_arr) - 1];
     
    $substr = substr($postfix, 0, 3);
    return $substr;
}
 
//调用示例
$url = "http://www./index.html?id=1";
$str = getUrlPostfix($url);
echo $str . "\n";
?>

    
[3]php 计算两个文件的相对路径的实现代码
    来源: 互联网  发布时间: 2013-12-24

计算出两个文件的相对路径。
例如,有文件如下:
$a="/a/b/c/d/e.php"; $b="/a/b/12/34/c.php"。
那么如何计算出B相对于A的相对路径呢?

代码:

<?php
 /**
 * 求$b相对于$a的相对路径
 * @param string $a
 * @param string $b
 * @return string
 * @site www.
 */
function getRelativePath ($a, $b)
{
    $patha = explode('/', $a);
    $pathb = explode('/', $b);
     
    $counta = count($patha) - 1;
    $countb = count($pathb) - 1;
     
    $path = "../";
    if ($countb > $counta) {
        while ($countb > $counta) {
            $path .= "../";
            $countb --;
        }
    }
     
    // 寻找第一个公共结点
    for ($i = $countb - 1; $i >= 0;) {
        if ($patha[$i] != $pathb[$i]) {
            $path .= "../";
            $i --;
        } else { // 判断是否为真正的第一个公共结点,防止出现子目录重名情况
            for ($j = $i - 1, $flag = 1; $j >= 0; $j --) {
                if ($patha[$j] == $pathb[$j]) {
                    continue;
                } else {
                    $flag = 0;
                    break;
                }
            }
             
            if ($flag)
                break;
            else
                $i ++;
        }
    }
     
    for ($i += 1; $i <= $counta; $i ++) {
        $path .= $patha[$i] . "/";
    }
     
    return $path;
}

//调用示例 
$a = "/a/c/d/e.php";
$b = "/a/c.php";
 
$path = getRelativePath($a, $b);
echo $path;
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3