MultiServis.Net //PHP El Kitabı

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>

PHP programlama dili ile URL (Uniform Resource Locator) yapisinin analizi : Yazar: Serkan Tarih: 01/03/02

Problem : Ham bir URL'yi alip icindeki parcalari teker teker ayirmak ve anlamli bir sekilde bir dizinin elemanlari yapmak istiyorsunuz.

Cozum : parse_url () ve parse_str () fonksiyonlarini kullanarak sonuca ulasabilirsiniz.

Tartisma : Bir URL yapisi geregi bazi parcalardan olusmustur.Bu yapi icerisinde baglanti protokolunun adi,domain adresi,yol ve bunun gibi kisimlar yer almaktadir.

parse_url () fonksiyonu ile, kendimize ozgu reg.exp yazmadan rahatlikla isin icinden cikmak ve kolayca sonuca ulasmak mumkundur.

$url = 'http://www.turk-php.com/profiles.php?Author=Admin&';
$url .= 'AuthorEmail=ebbg@ghex-cuc.pbz&AuthorURL=http://www.turk-php.com';

$url_parcalari = parse_url ($url);

$url_parcalari isimli degiskenimiz artik "karekter indeksli" bir dizidir.Bu dizi icerisinde asagidaki veriler saklanmaktadir:

- Scheme -- "http"
- Host -- "www.turk-php.com"
- Path -- "/profiles.php"
- Query -- "Author=Admin&AuthorEmail=ebbg@ghex-cuc.pbz&AuthorURL=http://www.turk-php.com"

  Bu fonksiyon ayni zamanda "port","user","pass" ve "fragment" bilgilerini de dondurur.Tabii ki bu ek bilgiler tamamen bizim URL'mizin tipine baglidir.Zaten yukaridaki gibi basit bir URL yi fonksiyona gecirmis isek bu tip gelismis veriler fonksiyonun sonucunda donmeyecektir.

  parse_str fonksiyonu ile "Query" elementi icindeki verileri isliyorum.Bir ornek vermek istersek,

  parse_str ($url_parcalari["query"]);

  yazdigim zaman scriptimde soyle degiskenler yaratiyorum :

- $Author
- $AuthorEmail
- $AuthorURL

  Not: parse_str () fonksiyonu kullanilmasa da PHP otomatik olarak "Query" icindeki ifadeleri birer PHP degiskeni sekline getirir.

  Serkan Hadi Ceylani
  serkan@turk-php.com

<<= Önceki Sayfa | PHP Ana Sayfa | Sonraki Sayfa =>>