Php'de çok fazla bilinmeyen ama faydalı fonksiyonları sizinle paylaşmaya devam ediyorum. Bir önce ki yazı da uniqid() fonksiyonunu sizlere tanıtmıştım. Bu fonksiyonları paylaşmamın sebebi, zaten var olan bir fonksiyon için fazladan kod yazılmasını engellemektir. Mesela uniqid() fonksiyonunu bilmeyen arkadaşlar rand() fonksiyonu ile çeşitli algoritmalar deneyerek hepsi birbirinden farklı değerler üretmeye çalışıyordu. Bu fonksiyonu öğrendikten sonra işlerinin daha kolaylaştığı yönünde olumlu geri dönüşler aldığım için, benzer fonksiyonlarla ilgili yazılar yazmaya devam ediyorum.
Bu yazıda ise sizlere parse_url() fonksiyonunu tanıtacağım. Bu fonksiyonu bilmeyen arkadaşlar explode() fonksiyonu ile adresi parçalara ayırarak istedikleri kısma ulaşmaya çalışıyorlar. Oysa parse_url() fonksiyonu zaten bu işlemi otomatik olarak yapıyor.
ÖRNEK 1 :
$data değişkenin bir dizi haline geldiğini görebilirsiniz. parse_url() fonksiyonu adresi parçalara ayırıp dizi olarak geriye döndürüyor.
[scheme] : Protokol değerini içerir. (http, https vb.)
[host] : Ana domain değerini içerir.
[path] : Dizin değerini içerir.
[query] : Query String değerini içerir.
[fragment] : Özellikle deep link işlemlerinde kullandığımız # sonrası ifadeyi içerir.
ÖRNEK 2 :
Kaynak : http://www.webteders.com/blog/detay/Php-Ile-Adresi-Parcalara-Bolme/25
Bu yazıda ise sizlere parse_url() fonksiyonunu tanıtacağım. Bu fonksiyonu bilmeyen arkadaşlar explode() fonksiyonu ile adresi parçalara ayırarak istedikleri kısma ulaşmaya çalışıyorlar. Oysa parse_url() fonksiyonu zaten bu işlemi otomatik olarak yapıyor.
ÖRNEK 1 :
PHP:
// Adresi tanımladım.
$url = 'http://www.webteders.com/blog/index.php?page=login&status=0#class1';
// "parse_url" fonksiyonu ile dönen değeri "$data" değişkenine attım.
$data = parse_url($url);
// $data değerini ekrana bastım.
print_r($data);
PHP:
Array
(
[scheme] => http
[host] => www.webteders.com
[path] => /blog/index.php
[query] => page=login&status=0
[fragment] => class1
)
[scheme] : Protokol değerini içerir. (http, https vb.)
[host] : Ana domain değerini içerir.
[path] : Dizin değerini içerir.
[query] : Query String değerini içerir.
[fragment] : Özellikle deep link işlemlerinde kullandığımız # sonrası ifadeyi içerir.
ÖRNEK 2 :
PHP:
// Adresi tanımladım.
$url = 'ftp://kullaniciadi:sifre@sunucu:22';
// "parse_url" fonksiyonu ile dönen değeri "$data" değişkenine attım.
$data = parse_url($url);
// $data değerini ekrana bastım.
print_r($data);
PHP:
Array
(
[scheme] => ftp
[host] => sunucu
[port] => 22
[user] => kullaniciadi
[pass] => sifre
)