Take the 2-minute tour ×

How to Get current page url and title in PHP

share|improve this question
We might be able to provide more useful answers if we knew what you want to do with the <title> in php. Are you getting the page's title from a database? –  David Thomas Jun 13 '10 at 11:44
I am using and i need to get the page url and title outside the loop –  Aakash Chakravarthy Jun 13 '10 at 11:48
Is this Wordpress related? –  nikc.org Jun 13 '10 at 11:56
-1 for an unclear and vague question, please try to provide as much information as you can to describe your problem. –  nikc.org Jun 13 '10 at 13:03
If you get no responses, there probably was a reason for it. You should edit your question to make it more clear to generate responses and not post new ones. If your problem is related to Wordpress, you should state so. –  nikc.org Jun 13 '10 at 15:28
show 3 more comments

3 Answers

up vote 5 down vote accepted

Here are few super global variables for getting url info:



$_SERVER['SCRIPT_NAME'] will be same - /index.php. It is irrespective of the actual URI ($_SERVER['REQUEST_URI']) used to access the site.

As it returns the actual script name, it fails provide additional path information that may be present. So if the $_SERVER['REQUEST_URI'] is /index.php/big/directory/ then too the $_SERVER['SCRIPT_NAME'] will be same - /index.php.

$_SERVER['SCRIPT_NAME'] is supported on all platforms


This is the filename of the currently executing script, relative to the document root. However, unlike $_SERVER['SCRIPT_NAME'], it provides additional path information like $_SERVER['REQUEST_URI'] when the actual php file is present in the path. So when the $_SERVER['REQUEST_URI'] is /index.php/big/directory/ then $_SERVER['PHP_SELF'] will be /index.php/big/directory/.

However if all the URI's under http://www.example.com/ is mapped to http://www.example.com/index.php, then, for example, http://www.example.com/abc/def will return /index.php like $_SERVER['SCRIPT_NAME']. Note that $_SERVER['REQUEST_URI'] data is ignored for this request.


It will give you entire url including query string vars.

Title of the page:

There is no built-in functionality to get title of the page, however, you can use the HTML Simple DOM to read the contents of <h2.


$title = str_get_html('<title></title>');

Now, you can use $title however, you like. Visit the their site for more info about it.

share|improve this answer
add comment

you can get the URL by




might work on some platforms.

the title is something that the PHP program gives back to the browser via HTML:

<html><head><title>title is here</title> ...

so it is not something that you "get" unless you get something from the DB and send back to the browser.

Update... do you mean the title of page that leads to your php file? (the user clicks on that page to get to your php file.) in that case, you can use $_SERVER['HTTP_REFERER'] but it is not guaranteed to contain any data (but most of the time it will).

share|improve this answer
add comment

If you are using wordpress, and you want to print the post title you can use,

<?php echo get_the_title(); ?>

documentation here: http://codex.wordpress.org/get_the_title

share|improve this answer
This is it!! Thanks! –  Jesse Seger Apr 15 at 13:22
add comment

Your Answer


