PHP how to go one level up on dirname(__FILE__)

dirname, php

Solution

For PHP < 5.3 use:

$upOne = realpath(dirname(__FILE__) . '/..');

In PHP 5.3 to 5.6 use:

$upOne = realpath(__DIR__ . '/..');

In PHP >= 7.0 use:

$upOne = dirname(__DIR__, 1);

Problem

I have a folder structure as follows: ``` mydomain.example ->Folder-A ->Folder-B ``` I have a string from Database that is `../Folder-B/image1.jpg`, which points to an image in `Folder-B`. Inside a script in `Folder-A`, I am using `dirname(__FILE__)` to fetch the filename and I get `mydomain.example/Folder-A`. Inside this script, I need to get a string that says `'mydomain.example/Folder-B/image1.jpg`. I tried ``` $path=dirname(__FILE__).'/'.'../Folder-B/image1.jpg'; ``` This shows up as `mydomain.com%2FFolder-A%2F..%2FFolder-B%2Fimage1.jpg` This is for a Facebook share button, and this fails to fetch the correct image. Anyone know how to get the path correctly? I hope to get a URL: `mydomain.example%2FFolder-B%2Fimage1.jpg`

Original source