Maison > développement back-end > tutoriel php > Comment puis-je contourner le remplacement automatique par PHP des points dans les noms de requêtes et de cookies ?

Comment puis-je contourner le remplacement automatique par PHP des points dans les noms de requêtes et de cookies ?

Linda Hamilton
Libérer: 2024-12-26 19:33:19
original
270 Les gens l'ont consulté

How Can I Work Around PHP's Automatic Replacement of Dots in Request and Cookie Names?

Remplacement automatique des points dans la requête et des noms de cookies par PHP : existe-t-il une solution ?

PHP remplace automatiquement les points (.) dans la requête et les noms de cookies avec des traits de soulignement (_), un comportement qui peut être problématique.

Pourquoi PHP fait-il cela ? Selon PHP.net, les points ne sont pas des caractères valides dans les noms de variables PHP, comme le montre l'exemple ci-dessous :

$varname.ext;  /* invalid variable name */
Copier après la connexion

Pour éviter ce problème d'analyse, PHP remplace les points par des traits de soulignement.

Malheureusement, il n'existe aucun moyen direct de désactiver ce comportement. La solution consiste à reconvertir manuellement les traits de soulignement en points dans votre script PHP à l'aide de fonctions de manipulation de chaînes telles que str_replace :

<?php
$request_uri = $_SERVER['REQUEST_URI'];
$get_vars = $_GET;

// Convert underscores back to dots in GET variables
foreach ($get_vars as $key => $value) {
  $key = str_replace('_', '.', $key);
  $get_vars[$key] = $value;
}

// Echo the modified GET variables
print_r($get_vars);
?>
Copier après la connexion

En plus des points, PHP remplace également les caractères suivants par des traits de soulignement :

  • chr(32) ( ) (espace)
  • chr(46) (.) (point)
  • chr(91) ([) (crochet ouvert)
  • chr(128) - chr(159) (divers)

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