PHP Velho Oeste 2024

http_build_url

(PECL pecl_http >= 0.21.0)

http_build_urlConstruit une URL

Description

string http_build_url ([ mixed $url [, mixed $parts [, int $flags = HTTP_URL_REPLACE [, array &$new_url ]]]] )

Construit une URL.

Les parties de la seconde URL seront ajoutées dans la première en fonction des arguments.

Liste de paramètres

url

partie(s) d'une URL sous la forme d'une chaîne ou un tableau associatif comme retourné par la fonction parse_url()

parts

la même chose que le premier argument

flags

un masque de constantes HTTP_URL ; HTTP_URL_REPLACE est la valeur par défaut

new_url

si défini, il sera ajouté avec les parties de l'URL composée comme retournée par la fonction parse_url()

Valeurs de retour

Retourne la nouvelle URL sous la forme d'une chaîne en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_build_url()

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

L'exemple ci-dessus va afficher :

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

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
12
zlatko dot zlatev at gmail dot com
9 years ago
pecl_http 2+ won't provide http_ functions any more. They moved to Http namespace, sadly no backwards compat.

To sum it up - As of pecl_http >=2.0.0 this is no longed available. Also pecl_http 1.7.6 will work only for PHP <=5.5. For PHP 5.6 we are forced to use version pecl_http 2.0.6+
up
4
pasafama at gmail dot com
9 years ago
It seems to me that the return value must always have a protocol, a host and a path. If they are not provided in the input, default values are added.

From what I saw, the default value for the protocol is 'http://', for the host is the hostname (if running from cli) or the variable $_SERVER['HTTP_HOST'], for the path is the variable $_SERVER['SCRIPT_NAME']
up
1
Jaguar
6 years ago
The class that replaces the functionality of this function is "http\Url".

The official decomentation can be found at: https://mdref.m6w6.name/http/Url
To Top