2

abspath()

function abspath()
{
    echo $_SERVER['DOCUMENT_ROOT'];
}

ディレクトリ()

function directory()
{
    echo '/folder/';
}

コードライン:-

header('Location:'.abspath().directory());

出力として次のようになります。

C:/xampp/htdocs/folder/

使うとき

header('Location:'.$_SERVER['DOCUMENT_ROOT'];.directory());

C:/xampp/htdocs/folder/index.phpのindex.phpに送られます なぜ関数で動作しないのですか?

これを使ってC:/xampp/htdocs/folder/index.phpに行きたい

header('Location:'.abspath().directory());

- 何か問題ある?

4

2 に答える 2

4

問題は、関数がecho出力を処理していて、それを返していないことです。関数を次のように変更します。

function abspath()
{
    return $_SERVER['DOCUMENT_ROOT'];
}

function directory()
{
    return '/folder/';
}

したがって、文字列連結でreturned 値 (つまり$_SERVER['DOCUMENT_ROOT']、この場合は「/folder/」) を使用できます。

于 2012-03-22T12:05:01.747 に答える
0

header を使用する場合、パスは URI にする必要があります。

そんな感じ

header('Location:http://yourpath.com/folder');

答えでは、ファイルが存在する物理的な場所を使用しています

試す$_SERVER["REQUEST_URI"]

于 2012-03-22T12:04:44.690 に答える