wp_normalize_path() WP 3.9.0

Замінює зворотні слеші (windows) на прямі слеші і подвійні слеші на одинарні.

1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.05 сек
(швидкість світла) |
PHP 7.3.12, WP 5.3.2

Хуків немає.

Повертає

Строку. Очищений (оброблений) рядок.

Використання

wp_normalize_path ($ path);
$path
(рядок) (обов’язковий)
Шлях, який необхідно обробити.

Приклади

0

#1 Переконаємося, що шлях до файлу правильний

Допустимо в процесі розробки ми збираємо шлях до файлу і нам потрібно переконатися, що в зібраному шляху не буде подвійних слешів або зворотних слешів. Для цього проженемо шлях через wp_normalize_path() :

echo wp_normalize_path('wwwexample.comwp-content/uploads//file.jpg');
			 // виведе: /www/example.com/wp-content/uploads/file.jpg

echo wp_normalize_path( 'https://test.ru//something/');
			 // виведе: https://test.ru/something/

echo wp_normalize_path( '//test.ru//something/' );
			 // виведе: //test.ru/something/

список змін

З версії 3.9.0Введено.
З версії 4.4.0Ensures upper-case drive letters on Windows systems.
З версії 4.5.0Allows for network shares for Windows.
З версії 4.9.7Allows for PHP file wrappers.

Код wp_normalize_path() WP 6.0.2

function wp_normalize_path( $path ) {
	$wrapper = '';

	if ( wp_is_stream ( $ path ) ) {
		list($wrapper, $path) = explode('://', ​​$path, 2);

		$wrapper .= '://';
	}

	// Standardize all paths to use '/'.
	$ path = str_replace( '', '/', $ path );

	// Зміна multi slashes down to a singular, allowing для network shares having 2 slashes.
	$path = preg_replace( '|(?<=.)/+|', '/', $path );

	// Windows paths should uppercase the drive letter.
	if ( ':' === substr( $path, 1, 1 ) ) {
		$ path = ucfirst ($ path);
	}

	return $wrapper . $ path;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *