path_join()
Объединяет (склеивает) два переданных системных пути. Если второй путь абсолютный (начинается со слэша), то просто вернет его.
Логика такая: дай мне $path относительно $base, но если $path абсолютный, то просто верни его...
При склейке добавляет слэш /
между путями.
Работает на основе: path_is_absolute()
1 раз — 0.000061 сек (очень быстро) | 50000 раз — 0.05 сек (скорость света) | PHP 7.1.1, WP 4.7.2
Хуков нет.
Возвращает
Строку
. Склеенный или нет абсолютный путь.
Использование
path_join( $base, $path );
- $base(string)
- Базовый путь, который должен быть в начале $path.
- $path(string)
- Путь от $base.
Примеры
#1 Демонстрация склейки двух путей.
echo path_join('/var/example.com', '/wp_content/uploads'); //> /wp_content/uploads echo path_join('/var/example.com', 'wp_content/uploads'); //> /var/example.com/wp_content/uploads echo path_join('/var/example.com', ''); //> /var/example.com/ echo path_join('/var/example.com', '\path'); //> \path echo path_join('/var/example.com', 'c:\path'); //> c:\path
#2 Подключим файл
Допустим мы заранее не знаем как будет передаваться файл: абсолютным путем или просто его название. В таком случае пригодится эта функция... Если указано имя файла, то к нему будет добавлена база (путь), если указан полный путь файла, то ничего не будет добавлено:
$path = path_join( '/var/site/wp-content/', $file ); require_once( $path );
Теперь, $file может быть: file.php
или /var/site/wp-content/file.php
. В обоих случаях вернется путь до файла: /var/site/wp-content/file.php
Список изменений
С версии 2.5.0 | Введена. |
Код path_join() path join WP 6.6.2
function path_join( $base, $path ) { if ( path_is_absolute( $path ) ) { return $path; } return rtrim( $base, '/' ) . '/' . $path; }