PHP ile bir IP adresi etki alanı adlarını çözümlemek mümkün mü?

4 Cevap

Eh, çok basit bir soru. Yani bu sizin için iyi bir haber, sanırım.

Daha ayrıntılı açıklama:

Bana bir veritabanına URL'ler eklemek sağlayan bir PHP komut dosyası var. Ben komut de o saklamak için, hem de bir IP adresine url çözmek istiyoruz. Ancak, bazı URL'lerin bu gibi:

http://111.111.111.111/~example/index.php

Bu yüzden de bu çalışmak gerekmektedir.

I SURE bu mümkün olduğunu değilim, ama sadece bunun olacağını mantıklı.

Yani: Bu mümkün mü, ve eğer öyleyse, nasıl?

4 Cevap

gethostbyname

echo gethostbyname('stackoverflow.com'); // 69.59.196.211

Sen parse_url url ana kapmak için kullanabilirsiniz:

$urlParts = parse_url('http://111.111.111.111/~example/index.php'); 

print_r($urlParts);

/*
Array
(
    [scheme] => http
    [host] => 111.111.111.111
    [path] => /~example/index.php
)
*/

gethostbynamel() - Get a list of IPv4 addresses Belirtilen konak adına karşılık gelen.


Usage:

$ips = gethostbynamel('stackoverflow.com');

/*
Array
(
    [0] => 69.59.196.211
)
*/
echo '<pre>';
print_r($ips);
echo '</pre>';

$ips = gethostbynamel('google.com');

/*
Array
(
    [0] => 74.125.39.105
    [1] => 74.125.39.106
    [2] => 74.125.39.147
    [3] => 74.125.39.99
    [4] => 74.125.39.103
    [5] => 74.125.39.104
)
*/
echo '<pre>';
print_r($ips);
echo '</pre>';

Bu bir liner kullanabilirsiniz bir URL üzerinden host almak için:

// 111.111.111.111
echo parse_url('http://111.111.111.111/~example/index.php', PHP_URL_HOST);