0

私はこのコードを持っています

redirect_loc(index.php);

そして、この関数の定義は関数ファイルのどこかにあります。

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

「index.php」(文字列として指定するための引用符に注意)を渡すと機能しますが、index.phpを渡すとエラーが発生します。要求されたURL/indexphpがこのサーバーで見つかりませんでした。

文字列として渡されないのに、なぜこれが機能しないのですか?

4

2 に答える 2

3

あなたが書くとき:

redirect_to(index.php);

これはindex、定数およびphp別の定数として取得し、.連結演算子を使用してそれらを連結します。

index名前付きの定数(および名前付きの定数)を探しておりphp、その名前の定数が見つからない場合は、値「index」(または「php」)を文字列リテラルとして使用します。

これは推奨される方法ではありません。エラーロギングをオンにすると、「定数が定義されていませんindex。代わりに文字列値を想定しています」などの通知が発行されていることがわかります。

于 2013-02-03T04:52:32.457 に答える
1

。連結演算子として機能します。見つからなかったファイルの名前がわかりましたか?いいえ....2つの「文字列」(indexphp)を結合しました-それはあなたが望んでいたことだと思いました。

于 2013-02-03T04:48:37.530 に答える