Phpmydirectory Script

This is the largest category of phpMyDirectory templates we offer and it is suitable for most phpMyDirectory implementations. All the templates in this category are compatible with the latest version of phpMyDirectory script. PhpMyDirectory is the leading website portal solution. Build and manage a powerful website with ease. Built using PHP and MySQL, phpMyDirectory can be used to create websites focused on a business directory, classifieds, link indexing and more!

Active1 year, 6 months ago

In PHP, what would be the cleanest way to get the parent directory of the current running script relative to the www root? Assume I have:

Or just:

And I need to get /relative/path/to/ with slashes properly inserted. What would you suggest? A one liner is preferred.

EDIT

I need to get a path relative to the www root, dirname(__FILE__) gives me an absolute path in the filesystem so that won't work. $_SERVER['SCRIPT_NAME'] on the other hand 'starts' at the www root.

Tatu Ulmanen
Tatu UlmanenTatu Ulmanen
101k28 gold badges165 silver badges178 bronze badges

13 Answers

If your script is located in /var/www/dir/index.php then the following would return:

or

Edit

This is a technique used in many frameworks to determine relative paths from the app_root.

File structure:

index.php is my dispatcher/boostrap file that all requests are routed to:

library.php is some file located an extra directory down and I need to determine the path relative to the app root (/var/www/).

There's probably a better way to calculate the relative path then str_replace() but you get the idea.

Mike BMike B
27.1k10 gold badges75 silver badges103 bronze badges

As of PHP 5.3.0 you can use __DIR__ for this purpose.

The directory of the file. If used inside an include, the directory of the included file is returned. This is equivalent to dirname(__ FILE__).

See PHP Magic constants.

Charlie VieillardCharlie Vieillard

If I properly understood your question, supposing your running script is

This would give you the parent directory of your running script relative to the document www:

If you want the parent directory of your running script relative to server root:

Marco DemaioMarco Demaio
20.7k31 gold badges112 silver badges148 bronze badges
hanshans
Sliq
9,45221 gold badges85 silver badges133 bronze badges
BradBrad
Jordan Ryan MooreJordan Ryan Moore
6,4372 gold badges22 silver badges27 bronze badges

Here is what I use since I am not running > 5.2

Double dirname with file as suggested by @mike b for the parent directory, and current directory is found by just using that syntax once.

Note this function only returns the NAME, slashes have to be added afterwards.

AlexAlex
7,2395 gold badges26 silver badges68 bronze badges
Vignesh KMVignesh KM

Try this. Works on both windows or linux server.

str_replace(','/',dirname(dirname(__FILE__)))

cestarcestar
collidoscopecollidoscope

This is a function that I use. Created it once so I always have this functionality:

Install ulaunch flash disk hp. This tool will detect HP PCs and HP printers. Technical data is gathered for the products supported by this tool and is used to identify products, provide relevant solutions and automatically update this tool, to improve our products, solutions, services, and your experience as our customer. This product detection tool installs software on your Microsoft Windows device that allows HP to detect and gather data about your HP and Compaq products to provide quick access to support information and solutions. Note: This tool applies to Microsoft Windows PC's only.

Phpmydirectory
JohnJohn
Goodhope Kudakwashe DhliwayoGoodhope Kudakwashe Dhliwayo

Got it myself, it's a bit kludgy but it works:

So if I have /path/to/folder/index.php, this results in /path/to/.

Tatu UlmanenPhpmydirectory script fontsTatu Ulmanen

Phpmydirectory Script Fonts

101k28 gold badges165 silver badges178 bronze badges

Phpmydirectory Scripture

Not the answer you're looking for? Browse other questions tagged phpdirectory or ask your own question.