whmcsexpert / symlink-detective
There is no license information available for the latest version (1.0.1) of this package.
Library allows to determine realpath to your script when you try to do it from symlinked file
1.0.1
2020-09-10 18:37 UTC
Requires
- webmozart/path-util: ~2.3
This package is not auto-updated.
Last update: 2024-11-02 10:45:52 UTC
README
Hey, this library is allows you to find the real path from all that mess, if you use symlinks for some directories in your project. Just and example:
- Project root dir:
/var/www/sites/your-project
/var/www/sites/your-project/library
is pointed to/var/www/libs/library
/var/www/sites/your-project/public
with app.php inside is pointed to/var/www/libs/frontend
(so/var/www/sites/your-project/public/app.php
is pointed to/var/www/libs/frontend/app.php
)
If somewhere in library (/var/www/libs/library
) you do reference to some path like library/../app/config.php
- your path be equal to
/var/www/libs/library/../app/config
==/var/www/libs/app/config
, and guess - paths is not exists.
But there is solution - you can call SymlinkDetective::detectPath(__DIR__ . '/../app/config')
and mr. SymlinkDetective will do the magic
Examples
SymlinkDetective::detectPath(__DIR__ . '/../app/config')
returns/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/config')
returns/var/www/sites/your-project/app/config
SymlinkDetective::detectPath(__FILE__, '/../app/unexistent-file', false)
throws an Exception as file doesn't found/existsSymlinkDetective::detectPath(__DIR__ . '/../unexistent-file')
returns/var/www/libs/library/unexistent-file
as file not found and Exception throwing is muted (3rd argument)