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!
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.
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.
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.
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 DemaioHere 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.
AlexAlexTry this. Works on both windows or linux server.
str_replace(','/',dirname(dirname(__FILE__)))
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.
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/
.