Maison >développement back-end >tutoriel php >php récupère les paramètres de chaque partie de l'URL

php récupère les paramètres de chaque partie de l'URL

little bottle
little bottleavant
2019-04-16 11:12:3510519parcourir

url est un localisateur de ressources uniforme, une représentation concise de l'emplacement et de la méthode d'accès aux ressources disponibles sur Internet, et est une ressource standard sur l'adresse Internet . Cet article présentera comment utiliser les fonctions PHP pour obtenir les paramètres de chaque partie de l'URL.

parse_url()

Cette fonction peut analyser une URL et renvoyer ses composants. Elle s'utilise de la manière suivante :

array parse_url(string $url)

Cette fonction renvoie un tableau associatif contenant les différents composants de l'URL existante. Si l'un de ces composants est manquant, aucune entrée de tableau ne sera créée pour ce composant. Les composants sont :

  • schéma - tel que http
  • hôte - tel que localhost
  • port - tel que 80
  • utilisateur
  • passer le
  • chemin - comme /parse_str.php
  • query - après le point d'interrogation ? comme id=1&category=php&title=php-install
  • fragment - après le symbole de hachage #

Cette fonction ne signifie pas que l'URL donnée est valide, elle sépare simplement les parties de la liste ci-dessus. parse_url() accepte les URL incomplètes et essaie de les analyser correctement. Cette fonction n'a aucun effet sur les URL de chemin relatif.

<?php
    $url = "http://52php.cnblogs.com/welcome/";
    $parts = parse_url($url);
     
    print_r($parts);
?>

Le résultat de l'exécution du programme est le suivant :

Array
(
    [scheme] => http
    [host] => 52php.cnblogs.com 
    [path] => /welcome/
)
<?php
    $url = &#39;http://username:password@hostname/path?arg=value#anchor&#39;;
    print_r(parse_url($url));
    echo &#39;<br />&#39;;
    echo parse_url($url, PHP_URL_PATH);
?>


Sortie du programme :

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)


Comme vous pouvez le constater, il est facile de décomposer les différentes parties d'une URL. Il est également facile d'extraire les parties spécifiées, telles que :

echo parse_url($url, PHP_URL_PATH);


Dans le deuxième paramètre, définissez les paramètres suivants : PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY ou PHP_URL_FRAGMENT.


parse_str()

parse_str est utilisé pour analyser la chaîne de requête dans l'URL, c'est-à-dire la valeur de chaîne qui peut être obtenue via $_SERVER[ 'QUERY_STRING'] , si l'URL que nous demandons est http://localhost/parse_str.php?id=1&category=php&title=php-install, alors la valeur renvoyée par $_SERVER['QUERY_STRING'] est id=1&category=php&title= php-install, et cette forme de chaîne est analysée dans un tableau associatif à l'aide de parse_str.

s'utilise comme suit :

void parse_str(string $str [, array &$arr ])

Cette fonction reçoit deux paramètres, $str est la chaîne qui a besoin à analyser, et le paramètre facultatif $arr est le nom de la variable où la valeur du tableau générée après l'analyse est stockée. Si vous ignorez le paramètre facultatif, vous pouvez appeler directement des variables telles que $id, $category et $title. Le script ci-dessous simule une requête GET.

<?php
<a href="http://localhost/parse_str.php?id=1&category=php&title=php-install">Click Here</a>
$query_str = $_SERVER[&#39;QUERY_STRING&#39;];
parse_str($query_str); /* 这种方式可以直接使用变量$id, $category, $title */
parse_str($query_str, $query_arr);
?>
<pre class="brush:php;toolbar:false"><?php print_r($query_arr); ?>

?> /* 运行结果 */ Array ( [id] => 1 [category] => php [title] => php-install ) 1 php php-install

http_build_query consiste à convertir un tableau en URL ? La chaîne de paramètre qui le suit sera automatiquement codée en url

chaîne ? http_build_query (array formdata [, string numeric_prefix])

Ajoutez des indices au tableau s'il n'y a pas de clé spécifiée ou si la clé est un nombre

[Cours recommandé :

Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer