2

abspath()

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

directory()

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

Code Line:-

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

Gives me the following as output:

C:/xampp/htdocs/folder/

When I use

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

It sends me to my index.php in C:/xampp/htdocs/folder/index.php Why its not working with functions?

I want to go to C:/xampp/htdocs/folder/index.php using this

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

- Is there any problem?

Django Anonymous
  • 2,987
  • 16
  • 58
  • 106

2 Answers2

4

The problem is that your functions are echoing your output and not returning it. You'll want to change your functions to:

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

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

So you can use the returned value (namely $_SERVER['DOCUMENT_ROOT'] or '/folder/', in this case) in your string concatentiation.

chrisn
  • 2,095
  • 15
  • 20
0

Your path should URI when using with header .

Soething like that

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

In the answer you are using a physical location where file residing

try $_SERVER["REQUEST_URI"]

Duke
  • 35,420
  • 13
  • 53
  • 70