Мне нужно, чтобы URL-адрес кодировал только путь к каталогу и имя файла URL с помощью PHP.
Итак, я хочу кодировать что-то вроде http://example.com/file name
и получить результат http://example.com/file%20name
.
Конечно, если я делаю urlencode('http://example.com/file name');
, тогда я получаю http%3A%2F%2Fexample.com%2Ffile+name
.
Очевидным (для меня, в любом случае) решением является использование parse_url()
для разделения URL-адреса на схему, хост и т.д., а затем просто urlencode()
части, которые нуждаются в ней, как путь. Затем, я бы собрал URL-адрес, используя http_build_url()
.
Есть ли более элегантное решение? Или это в основном способ пойти?