path_join()
Об’єднує (склеює) два передані системні шляхи. Якщо другий шлях абсолютний (починається зі слеша), то поверне його.
Логіка така: дай мені $ path щодо $ base , але якщо $ path абсолютний, то просто поверни його.
При склеюванні додає слеш /
між шляхами.
Працює на основі:
path_is_absolute()
path_is_absolute()
1 раз – 0.000061 сек
(дуже швидко) | 50000 разів – 0.05 сек
(швидкість світла) |
PHP 7.1.1, WP 4.7.2
(дуже швидко) | 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.0.2
function path_join( $base, $path ) { if ( path_is_absolute ( $ path ) ) { return $path; } return rtrim($base, '/'). '/'. ltrim($ path, '/'); }