将文件名作为参数传递给函数的问题?

时间:2013-02-03 04:46:16

标签: php string user-defined-functions

我有这段代码

redirect_loc(index.php);

此函数的定义位于函数文件中。

    function redirect_loc($location=NULL)
{
    if($location!=NULL)
    {
        header("Location:$location");
        exit;
    }
}

当我传递“index.php”(注意引号指定为字符串)时,它可以工作,但是传递index.php会产生错误在此服务器上找不到请求的URL / indexphp。

为什么当它没有作为字符串传递时不起作用?

2 个答案:

答案 0 :(得分:3)

当你写:

redirect_to(index.php);

这是将index作为常量,php作为另一个常量,并使用.连接运算符连接它们。

它正在寻找一个名为index的常量(对于一个名为php的常量),并且没有找到具有该名称的常量,使用值" index" (或" php")作为字符串文字。

这不是推荐的做法。如果您打开错误日志记录,您将看到它正在发出类似"没有常量定义index的通知,假设字符串值为#34;。

答案 1 :(得分:1)

。充当连接运算符。你有没有看到它找不到的文件的名称?没有. ...它将两个“字符串”(indexphp)加在一起 ​​- 它认为这就是你想要的。