HTTP 函数
在线手册:中文 英文
PHP手册

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_urlBuild a URL

说明

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.

参数

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

返回值

Returns the new URL as string on success 或者在失败时返回 FALSE.

范例

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

以上例程会输出:

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

参见


HTTP 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Build a URL

用户评论:

randyg at ernieball dot com (07-Feb-2012 04:15)

Although I've never used this function, based on the documentation it seems that the above code should also include the following:

    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 );

Ant P. (09-Jun-2010 05: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 (21-Feb-2010 07: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.