Этот код преобразует относительный путь к файлу с кириллицей и некорректными сегментами в безопасный абсолютный путь, нормализует его, проверяет валидность, извлекает имя и расширение файла, а также генерирует корректную URI-ссылку для веб-доступа.
| Код |
|---|
<?php
// Подключаем ядро Битрикс (требуется для работы с классами D7)
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\IO\Path;
// Пример: формируем безопасный путь к файлу, нормализуем его, проверяем валидность и получаем имя и расширение
$relativePath = "upload/фото из отпуска/../фото/весна 2025!.jpg";
$absolutePath = Path::convertRelativeToAbsolute($relativePath);
$normalizedPath = Path::normalize($absolutePath);
if (Path::validate($normalizedPath)) {
$fileName = Path::getName($normalizedPath);
$fileExt = Path::getExtension($normalizedPath);
$safeUri = Path::convertLogicalToUri($normalizedPath);
echo "Абсолютный путь: " . $normalizedPath . "<br>";
echo "Имя файла: " . $fileName . "<br>";
echo "Расширение: " . $fileExt . "<br>";
echo "Ссылка (URI): " . $safeUri . "<br>";
} else {
echo "Путь содержит недопустимые символы.";
}
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php'); |