PHP Bir Urlden Domain Adı Bulmak

PHP Kodlama 18 Şubat 2021 - 16:02:14 177 Gösterim 0 Yorum

Bilinen bir url üzerinden o urlin 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.

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

$parcala=parse_url($url);

echo $parcala['host'];

dediğimizde çıktı www.kazimuslu.com.tr olarak 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. Ya da şartlama kısmında da kontrol etmeniz gerekebilir. Bir örnekle iki farklı yöntemi kullanarak görelim.

$url="https://www.kazimuslu.com.tr/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']=='www.kazimuslu.com.tr'):
//Burası çalışır..
endif;

//Parse_url olmadan şartlama kullanalım..

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

Yani işimizi kolaylaştıracak bir fonksiyon. Ezberlemenize gerek yok, böyle bir fonksiyonun olduğunu bilin yeterli. Gerekli olduğunda kullanabilirsiniz.

Yorumlar (0)

Bu yazıya henüz bir yorum yapılmamış, hemen bir tane yapmak ister misin ?

Yorum Yapın