URL查询字符串可以包含句点吗?

时间:2018-11-07 17:48:11

标签: php http url

我有这样的网址:

process_request.php?fileName=newpage.html

我尝试通过以下方式检索fileName参数:

if (isset($_REQUEST['fileName'])) { ... }

它不起作用,我想知道文件名中的句点是否可能是问题。我似乎找不到确切的答案。 PHP的URL编码功能似乎对句点没有任何作用。

1 个答案:

答案 0 :(得分:1)

句号(句号.是有效的查询字符串值。

为什么?因为:

print urlencode("This is a ... query string! hazzah");

输出:

  

This + is + a + ... + query + string%21 + hazzah

因此,这不是造成您明显问题的原因。

如何找到您的实际问题:

  • 使用不包含fileName的{​​{1}}参数重新运行代码,并查看代码是否按预期运行:

      

    process_request.php?fileName = newpage.html

    .
  • if (isset($_REQUEST['fileName'])) { print "it worked!"; die; } 的{​​{1}}值以检查它是否符合您的期望(例如,在PHP.ini中可能关闭了var_dump()变量)。

      

    process_request.php?fileName = newpage.html

    $_REQUEST['fileName']
  • 检查您的$_REQUEST(或类似名称)是否未重写您的操作网址

  • 检查 var_dump($_REQUEST); if (isset($_REQUEST['fileName'])) { print "it worked!"; die; } 语句 IS 是否正在运行,并且由于其他问题,错误或失败而没有给您预期的结果。

最后但并非最不重要....