dismiss Step into the future! Click here to switch to the beta php.net site
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Hyperwave> <http_build_str
[edit] Last updated: Fri, 28 Jun 2013

view this page in

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_urlBuild a URL

Description

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.

Parameters

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

Return Values

Returns the new URL as string on success or FALSE on failure.

Examples

Example #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
);
?>

The above example will output:

ftp://ftp.example.com/pub/files/current/?a=c

See Also



add a note add a note User Contributed Notes http_build_url - [2 notes]
up
1
Ant P.
3 years ago
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.
up
0
randyg at ernieball dot com
1 year ago
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 );
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites