Podręcznik PHP
Poprzedni |  | Następny

# parse_url

(PHP 3, PHP 4, PHP 5)

parse_url -- Przetwarza adres URL i zwraca jego składowe

## Opis

mixed parse_url ( string url [, int składnik] )

Funkcja przetwarza URL i zwraca tablicę asocjacyjną zawierającą każdy z komponentów wchodzących w skład URL.

Ta funkcja nie służy do sprawdzania poprawności podanego URL, tylko rozbija go na podane niżej części. Częściowe URLe także są obsługiwane parse_url() postara się przetworzyć je poprawnie.

## Parametry

`url`

  Adres URL do przetworzenia

`składnik`

  Podaj jedną ze stałych `PHP_URL_SCHEME`, `PHP_URL_HOST`, `PHP_URL_PORT`, `PHP_URL_USER`, `PHP_URL_PASS`, `PHP_URL_PATH`, `PHP_URL_QUERY` or `PHP_URL_FRAGMENT` aby otrzymać określony składnik URL jako string.

## Zwracane wartości

W przypadku poważnie zdeformowanych URLi, parse_url() może zwrócić `FALSE` i wyemitować `E_WARNING`. W przeciwnym wypadku zostanie zwrócona asocjatywna tablica, której składowe mogą być następujące (wystąpi przynajmnej jedena):

- `scheme (protokół)` - np. http

- `host`

- `port`

- `user (użytkownik)`

- `pass (hasło)`

- `path (ścieżka)`

- `query (zapytanie)` - po znaku `?`

- `fragment` - po znaku `#`

Jeśli parametr `składnik` jest określony, zwracany jest string zamiast array.

## Rejestr zmian

Wersja | Opis
--- | ---
5.1.2 | Dodano parametr `składnik`

## Przykłady

Przykład 1. A parse_url() przykład

`<?php $url = 'http://uzytkownik:haslo@serwer/sciezka?arg=wartosc#kotwica'; print_r(parse_url($url)); echo parse_url($url, PHP_URL_PATH); ?>`

Powyższy przykład wyświetli:

    Array
    (
        [scheme] => http
    	[host] => serwerer
    	[user] => uzytkownik
    	[pass] => haslo
    	[path] => /sciezka
    	[query] => arg=wartosc
    	[fragment] => kotwica
    )
    /sciezka

## Notatki

> Notatka: Funkcja nie działa na relatywnych URLach.

> Notatka: parse_url() jest przeznaczona do przetwarzania URLi, a nie URI. Jednakże, aby zastosować wymóg wstecznej kompatybilności PHP, zrobiono wyjątek dla protokołu file:// gdzie potrójne ukośniki (file:///...) są dozwolone. Dla innych protokołów jest to nieprawidłowe.

## Patrz także

pathinfo()
parse_str()
http_build_query()
dirname()
basename()

Poprzedni | Spis treści | Następny
http_build_query | Początek rozdziału | rawurldecode