Helper class for creating relative paths, absolutizing paths,...
Download a latest package or use Composer:
composer require czproject/path-helper
Library requires PHP 5.6.0 or later.
use CzProject\PathHelper;
PathHelper::absolutizePath($path);
PathHelper::absolutizePath('path/to/my/../text/./file.txt');
Returns /path/to/text/file.txt
You can use second parameter $prefix
:
PathHelper::absolutizePath('path/to/my/../text/./file.txt', NULL); // returns path/to/text/file.txt
PathHelper::absolutizePath('path/to/my/../text/./file.txt', '/file/root/'); // returns /file/root/path/to/text/file.txt
$source = 'root/dir/docs/1.0/index.html';
$dest = 'root/dir/imgs/image.jpg';
PathHelper::createRelativePath($source, $dest);
Returns ../../imgs/image.jpg
PathHelper::isPathCurrent($path, $mask);
PathHelper::isPathCurrent('dir/file.txt', 'dir/file-2.txt'); // returns FALSE
PathHelper::isPathCurrent('dir/file.txt', 'dir/*'); // returns TRUE
PathHelper::isPathCurrent('dir/sub/file.txt', 'dir/*'); // returns FALSE
PathHelper::isPathCurrent('dir/sub/file.txt', 'dir/*/*'); // returns TRUE
PathHelper::isPathCurrent('dir/sub/file.txt', 'dir/**'); // returns TRUE
Mask | Meaning |
---|---|
** |
means everything |
* |
means everything except / |
Normalizes path delimiters to /
.
PathHelper::normalizePath($path);
PathHelper::normalizePath('\\path\\to\\file.txt');
Returns /path/to/file.txt
.
$helper = new CzProject\PathHelper;
$helper->absolutizePath('/path/to/to/../file');
$helper->createRelativePath('/path/to/file', '/path/to');
$helper->isPathCurrent('/path/file', '/path/*');
License: New BSD License
Author: Jan Pecha, https://www.janpecha.cz/