pointybeard / helpers-functions-paths
A collection of helpful functions related to paths, directories, and files names
Installs: 2 633
Dependents: 3
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-10-10 22:20:57 UTC
README
A collection of helpful functions related to paths, directories, and files names
Installation
This library is installed via Composer. To install, use composer require pointybeard/helpers-functions-paths
or add "pointybeard/helpers-functions-paths": "~1.0"
to your composer.json
file.
And run composer to update your dependencies:
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Requirements
There are no particuar requirements for this library other than PHP 7.4 or greater.
To include all the PHP Helpers packages on your project, use composer require pointybeard/helpers
or add "pointybeard/helpers": "~1.0"
to your composer file.
Usage
This library is a collection of helpful functions related to paths, directories, and files names. They are included by the vendor autoloader automatically. The functions have a namespace of pointybeard\Helpers\Functions\Paths
The following functions are provided:
is_path_absolute(string $path) : bool
get_relative_path(string $from, string $to, bool $strict = true): string
Example usage:
<?php include __DIR__ . '/vendor/autoload.php'; use pointybeard\Helpers\Functions\Paths; var_dump(Paths\is_path_absolute('/etc/apache2/sites-enabled/mysite.conf')); // bool(true) var_dump(Paths\is_path_absolute(getcwd() . '/../../potato.json')); // bool(false) var_dump(Paths\is_path_absolute('./potato.json')); // bool(false) var_dump(Paths\is_path_absolute('/var/www/mysite/assets/json/../json/potato.json')); // bool(false) var_dump(Paths\get_relative_path(getcwd(), getcwd())); // string(1) "." var_dump(Paths\get_relative_path("/var/www/banana/", "/etc/logs/blah", false)); // string(22) "../../../etc/logs/blah" var_dump(Paths\get_relative_path(getcwd(), getcwd() . '/some/sub/folder/path')); // string(22) "./some/sub/folder/path" var_dump(Paths\get_relative_path('/var/www/mysite', '/var/www/someothersite')); // string(16) "../someothersite" var_dump(Paths\get_relative_path('/var/www/mysite/docs/index/files', '/var/www/someothersite/docs/index/files')); // string(42) "../../../../someothersite/docs/index/files" var_dump(Paths\get_relative_path('/var/www/mywebsite.com/lib/extensions/template/data-sources', '/var/www/mywebsite.com/lib/extensions/template/src/Includes/datasource')); // string(26) "../src/Includes/datasource" try{ Paths\get_relative_path('/var/www/mysite', '../../nonexistent'); } catch (\Exception $ex) { var_dump('ERROR! returned: ' . $ex->getMessage()); } // string(119) "ERROR! returned: path ../../nonexistent is relative and does not exist! Make sure path exists (or set $strict to false)" /** Same thing again, but this time with strict checking turned off **/ try{ Paths\get_relative_path('/var/www/mysite', '../../nonexistent', false); } catch (\Exception $ex) { var_dump('ERROR! returned: ' . $ex->getMessage()); } // string(84) "ERROR! returned: Both $from and $to paths must be absolute when $strict is disabled!"
Support
If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.
Contributing
We encourage you to contribute to this project. Please check out the Contributing documentation for guidelines about how to get involved.
Author
- Alannah Kearney - https://github.com/pointybeard
- See also the list of contributors who participated in this project
License
"PHP Helpers: Path Functions" is released under the MIT License.