Although I've never used this function, based on the documentation it seems that the above code should also include the following:
<?php
if ( ! is_array( $url ) ) // Added - Randy
// Parse the original URL
$parse_url = parse_url($url);
// allow parts to be a url Added - Randy
if ( ! is_array( $parts ) )
$parts = parse_url( $parts );
?>
http_build_url
(PECL pecl_http >= 0.21.0)
http_build_url — Build a URL
Descrição
string http_build_url
([ mixed $url
[, mixed $parts
[, int $flags = HTTP_URL_REPLACE
[, array &$new_url
]]]] )
Build a URL.
The parts of the second URL will be merged into the first according to the flags argument.
Parâmetros
- url
-
(part(s) of) an URL in form of a string or associative array like parse_url() returns
- parts
-
same as the first argument
- flags
-
a bitmask of binary or'ed HTTP_URL constants; HTTP_URL_REPLACE is the default
- new_url
-
if set, it will be filled with the parts of the composed url like parse_url() would return
Valor Retornado
Returns the new URL as string on success or FALSE on failure.
Exemplos
Exemplo #1 A http_build_url() example
<?php
echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
array(
"scheme" => "ftp",
"host" => "ftp.example.com",
"path" => "files/current/",
"query" => "a=c"
),
HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
);
?>
O exemplo acima irá imprimir:
ftp://ftp.example.com/pub/files/current/?a=c
Veja Também
- parse_url() - Interpreta uma URL e retorna os seus componentes
- http_build_str() - Build query string
randyg at ernieball dot com
06-Feb-2012 08:15
Ant P.
09-Jun-2010 09:58
This function has a useful undocumented feature - the defaults are set in such a way that calling it with no parameters returns the full URL of the page being accessed.
tycoonmaster at gmail dot com
20-Feb-2010 11:55
If you are looking for a PHP Version of this function, follow the link below:
http://www.mediafire.com/?zjry3tynkg5
Note: I would have added the function here, but I just couldn't get it past the line restrictions without making it impossible to read.
Enjoy.
