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://tosa.tr/php-ve-ajax-kullanarak-otomatik-resim-upload-sayfasi-nasil-olusturulur/";
$parcala=parse_url($url);
echo $parcala['host'];
dediğimizde çıktı tosa.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://tosa.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']=='tosa.tr'):
//Burası çalışır..
endif;
//Parse_url olmadan şartlama kullanalım..
if(strstr($url,'tosa.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.
Bu yazıya henüz bir yorum yapılmamış, hemen bir tane yapmak ister misin ?