我有这段代码
redirect_loc(index.php);
此函数的定义位于函数文件中。
function redirect_loc($location=NULL)
{
if($location!=NULL)
{
header("Location:$location");
exit;
}
}
当我传递“index.php”(注意引号指定为字符串)时,它可以工作,但是传递index.php会产生错误在此服务器上找不到请求的URL / indexphp。
为什么当它没有作为字符串传递时不起作用?
答案 0 :(得分:3)
当你写:
redirect_to(index.php);
这是将index
作为常量,php
作为另一个常量,并使用.
连接运算符连接它们。
它正在寻找一个名为index
的常量(对于一个名为php
的常量),并且没有找到具有该名称的常量,使用值" index" (或" php")作为字符串文字。
这不是推荐的做法。如果您打开错误日志记录,您将看到它正在发出类似"没有常量定义index
的通知,假设字符串值为#34;。
答案 1 :(得分:1)
。充当连接运算符。你有没有看到它找不到的文件的名称?没有.
...它将两个“字符串”(index
和php
)加在一起 - 它认为这就是你想要的。