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:
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!
This in-depth comparison of phpmydirectory.com and phplinkdirectory.com might explain which of these two domains is more popular and has better web stats. PhpMyDirectory is now leading business Directory Script. Download Nulled version of phpMyDirectory. Know about reviews, Features and Installation Guide. How can the answer be improved? PHP Enabled Link Indexing Softwares 01. This is a very powerful yet easy to use directory script. However, it is more like a Yellow Pages kind of system than a directory. Easydirector script is the ugly script and they have no refund policy. You will loose your money for sure if you buy this product. There is no professionalism in the script. PHP Business Directory is a responsive and SEO optimized php software for creating online business directory websites.
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.
If your script is located in /var/www/dir/index.php
then the following would return:
or
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:
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/
.