Php ile bir URL’den Domain Adresini nasıl alırız?

Bilinen bir url üzerinden o url’in ait olduğu domaini almak isteyebilirsinizsiniz. Php bunun için hazır bir fonksiyon üretmiş. parse_url() fonksiyonu sadece domain ismini vermez. http protokolü, kullanıcı adı, şifre, get parametreleri gibi birçok url üzerinden erişebildiğiniz değeri kolayca almanızı sağlar.

$url="https://kazimuslu.com/php-ve-ajax-kullanarak-otomatik-resim-upload-sayfasi-nasil-olusturulur/";

$parcala=parse_url($url);

echo $parcala['host'];

kodunu çalıştırdığımızda kazimuslu.com sonucu karşımıza çıkacaktır. Diğer alınabilir değerleri PHP.net üzerinden verilen örnekle görelim;

$url = 'http://username:password@hostname:9090/path?arg=value#anchor';

var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));

//çıktısı;

array(8) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(8) "hostname"
  ["port"]=>
  int(9090)
  ["user"]=>
  string(8) "username"
  ["pass"]=>
  string(8) "password"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(9) "arg=value"
  ["fragment"]=>
  string(6) "anchor"
}

olarakta görülebilir. Örneğin ben indirme sitelerimde download linki uzun uzun yazdırmak yerine konu başlığı – download linkin domainini yazdırmayı tercih ediyorum. Bu fonksiyonu orada kolayca kullanabiliyorum. Parse_url fonksiyonu olmadan yapamaz mıyız? tabi ki yapabiliriz. Gelin deneyelim..

$url="https://kazimuslu.com/php-ve-ajax-kullanarak-otomatik-resim-upload-sayfasi-nasil-olusturulur/";

//PARSE_URL() olmadan nasıl yaparım?
$parcala=explode('/',$url);

echo $parcala[2];

//Şartlama da kullanım Domain buysa yada değilse!!

if(parse_url($url)['host']=='kazimuslu.com'):
//Burası çalışır..
endif;

//Parse_url olmadan şartlama kullanalım..

if(strstr($url,'kazimuslu.com')):
//Burası Çalışır.
endif;

Gördüğünüz gibi explode fonksiyonu ile de işlemi yapabilirsiniz. Fakat daha uzun veriler barındıran URL’lerde parse_url kullanım kolaylığı sağlayacaktır.

You may also like...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir