Функция wp_basename()
— это локализованная версия функции basename()
из PHP, которая извлекает имя файла или папки из заданного пути или URL. Основное преимущество wp_basename()
в том, что она поддерживает интернационализацию (i18n) и корректно работает с файлами, именованными на разных языках. Это особенно полезно для разработчиков, работающих с именами файлов, получаемыми через GET и POST-запросы или из базы данных.
wp_basename( string $path, string $suffix = ” ): string
Параметры
$path
Тип:string
Обязательный параметр.
Путь к файлу или URL, из которого нужно получить имя файла.$suffix
Тип:string
Необязательный параметр.
Суффикс, который будет удален из конца имени файла, если он присутствует. Например, если указать.jpg
, тоimage.jpg
будет возвращено какimage
.Значение по умолчанию:''
.
Возвращаемое значение
string
Возвращает строку с именем файла или папки из указанного пути или URL, с удаленным суффиксом, если он был указан.
Пример 1: Получение имени файла из URL
Функция извлечет имя файла с учетом указанного суффикса.
echo wp_basename('https://example.com/uploads/image-photo.jpg', '.jpg');
// Вывод: image-photo
Пример 2: Извлечение имени файла из пути на сервере
Если указать путь к файлу на сервере, функция также корректно извлечет имя файла.
echo wp_basename('/var/www/site/images/logo.png', '.png');
// Вывод: logo
Пример 3: Извлечение имени папки из пути
Когда путь указывает на папку, wp_basename()
вернет название последней директории в пути.
echo wp_basename('/var/www/site/images/');
// Вывод: images
Пример 4: Извлечение имени файла с отсутствующим суффиксом
Если суффикс не указан, wp_basename()
просто возвращает имя файла.
echo wp_basename('/files/archive.zip');
// Вывод: archive.zip
Пример 5: Поддержка имен файлов на разных языках
Функция поддерживает локализованные символы и корректно работает с файлами на языках, отличных от английского.
echo wp_basename('/документы/отчет-финансы.docx', '.docx');
// Вывод: отчет-финансы
Пример 6: Использование с относительным путем
wp_basename()
также корректно обрабатывает относительные пути, возвращая имя файла или папки.
echo wp_basename('../data/config.php');
// Вывод: config.php
Пример 7: Работа с корневым каталогом
Если путь указывает на корневой каталог (/
), wp_basename()
вернет пустую строку.
echo wp_basename('/');
// Вывод: пустая строка
Отличие от basename()
Хотя wp_basename()
схожа с basename()
, основное отличие в том, что она поддерживает i18n и оптимизирована для использования в WordPress. Это делает ее более надежной при работе с файлами, содержащими неанглийские символы, и помогает избежать возможных проблем с кодировкой.
Заключение
Функция wp_basename()
— удобный инструмент для извлечения имени файла или папки из пути, особенно полезный для мультиязычных проектов. Она поддерживает удаление суффикса и корректно обрабатывает локализованные символы, что делает ее лучшим выбором для большинства задач по сравнению с basename()
в WordPress.