path_join

Объединяет (склеивает) два переданных системных пути в один, если второй указанный путь не абсолютный, иначе просто вернет второй путь.

Логика такая: дай мне $path относительно $base, но если $path абсолютный, то просто верни его…

При склейке добавляет слэш /, если его нет в $base.

✈ 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/site.ru', '/wp_content/uploads'); //> /wp_content/uploads
echo path_join('/var/site.ru', 'wp_content/uploads');  //> /var/site.ru/wp_content/uploads
echo path_join('/var/site.ru', '');                    //> /var/site.ru/
echo path_join('/var/site.ru', 'path');               //> path
echo path_join('/var/site.ru', 'c:\path');            //> c:\path

#1 Подключим файл

Допустим мы заранее не знаем как будет передаваться файл: абсолютным путем или просто его название. В таком случае пригодится эта функция… Если указано имя файла, то к нему будет добавлена база (путь), если указан полный путь файла, то ничего не будет добавлено:

$path = path_join( '/var/site/wp-content/', $file );

Теперь, $file может быть: file.php или /var/site/wp-content/file.php. В обоих случаях вернется путь до файла: /var/site/wp-content/file.php

Код из


wp-includes/functions.php

WP 4.7.2

<?php
function path_join( $base, $path ) {
	if ( path_is_absolute($path) )
		return $path;

	return rtrim($base, '/') . '/' . ltrim($path, '/');
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *