http - PHP的URL传参数(英文句号变成了下划线)的问题,求解释。
GET参数里面的.
号(英文的句号)会变成_
(英文的下划线)。
我仔细分析了这个问题,发现确实是这样。
在线测试地址:http://moonlordapi.sinaapp.com/test.php?.=1
(不信你自己测。)
所以我现在的问题是……
1.为什么会这样?对于这个问题,有没有什么官方的解释或者说明?
2.还有没有其它的特殊符号会出现这样奇葩的现象?
————————————————————华丽的分割线————————————————————
UPDATE:
已采纳答案。
不过看了下http://php.net/manual/en/language.variables.external.php
,那条说明是7年前的了。。。
自己实测了一下(这里的PHP版本是5.4+):
空格和左中括号的参数会被忽略(和说明不同)。
chr(128) - chr(159)都不是常见的文本字符了,就不测试了。。。
回复内容:
GET参数里面的.
号(英文的句号)会变成_
(英文的下划线)。
我仔细分析了这个问题,发现确实是这样。
在线测试地址:http://moonlordapi.sinaapp.com/test.php?.=1
(不信你自己测。)
所以我现在的问题是……
1.为什么会这样?对于这个问题,有没有什么官方的解释或者说明?
2.还有没有其它的特殊符号会出现这样奇葩的现象?
————————————————————华丽的分割线————————————————————
UPDATE:
已采纳答案。
不过看了下http://php.net/manual/en/language.variables.external.php
,那条说明是7年前的了。。。
自己实测了一下(这里的PHP版本是5.4+):
空格和左中括号的参数会被忽略(和说明不同)。
chr(128) - chr(159)都不是常见的文本字符了,就不测试了。。。
在 PHP 中,变量名称中不能使用句号点(.)。 例如 $a.b
是一个不合法的变量名。因此,PHP 会自动将点替换为下划线。
除了点,一些其他字符如果出现在GET参数名中,也将会被自动替换为下划线。会被自动替换的字符列表:
<code>chr(32) ( ) (空格) chr(46) (.) (点) chr(91) ([) (中括号) chr(128) - chr(159) (多个字符)</code>
参考资料:http://php.net/manual/en/language.variables.external.php

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
