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
Libérer: 2023-04-05 20:56:01
avant
10513 Les gens l'ont consulté

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)
Copier après la connexion

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);
?>
Copier après la connexion

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

Array
(
    [scheme] => http
    [host] => 52php.cnblogs.com 
    [path] => /welcome/
)
Copier après la connexion
<?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);
?>
Copier après la connexion


Sortie du programme :

Array
(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)
Copier après la connexion


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);
Copier après la connexion
<🎜. >


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
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal