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.
Son yorumlar