phpdirname

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


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


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);