I have a folder structure as follows:
mydomain.com ->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.com/Folder-A
. Inside this script, I need to get a string that says 'mydomain.com/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?
Edit: I hope to get a url >>>mydomain.com%2FFolder-B%2Fimage1.jpg
If you are using PHP 7.0 and above then the best way to navigate from your current directory or file path is to use dirname(). This function will return the parent directory of whatever path we pass to it.
dirname(__FILE__) allows you to get an absolute path (and thus avoid an include path search) without relying on the working directory being the directory in which bootstrap. php resides. (Note: since PHP 5.3, you can use __DIR__ in place of dirname(__FILE__) .)
The dirname() returns the parent directory's path that is $levels up from the current directory. Note that you can use both slash ( / ) and backslash ( \ ) as the directory separator character on Windows and the forward-slash ( / ) on other environments such as Linux and macOS.
__DIR__ : The directory of the file. If used inside an include, the directory of the included file is returned. This is equivalent to dirname(__FILE__) . This directory name does not have a trailing slash unless it is the root directory.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With