Potrzebuję adresu URL koduj tylko ścieżkę do katalogu i nazwę pliku URL używając PHP.urlencode tylko katalog i nazwy plików adresu URL
Tak więc chcę zakodować coś w rodzaju http://example.com/file name
i mieć wynik w postaci http://example.com/file%20name
.
Oczywiście, jeśli zrobię urlencode('http://example.com/file name');
, to skończę z http%3A%2F%2Fexample.com%2Ffile+name
.
Oczywistym (dla mnie, tak) rozwiązaniem jest użycie parse_url()
, aby podzielić adres URL na schemat, host itp., A następnie po prostu urlencode()
części, które potrzebują go tak jak ścieżka. Następnie ponownie złożyć URL za pomocą http_build_url()
.
Czy istnieje bardziej eleganckie rozwiązanie? Czy jest to w zasadzie droga do zrobienia?
który wydaje się jak najbardziej niezawodne rozwiązanie dla mnie. – Herbert
Zgodnie z dokumentacją: kod urlencode jest dla części kwerendy adresu URL. rawurlencode dla ścieżki, ale upewnij się, że wykluczasz ukośniki. –