urlencode кроме / - PullRequest
       19

urlencode кроме /

10 голосов
/ 14 мая 2010

Есть ли способ URL-адреса, кроме разделителей каталогов / в пути?

как

urlencode('/this/is/my/file right here.jpg');

Ответы [ 4 ]

31 голосов
/ 14 мая 2010

Вы можете использовать

Итак, все вместе в одной строке:

$path = implode('/', array_map('rawurlencode', explode('/', $path)));
15 голосов
/ 14 мая 2010

Замените их снова:

str_replace('%2F', '/', urlencode('/this/is/my/file right here.jpg'));

Обратите внимание, что если вы собираетесь передать результат в строке запроса, вам не следует делать замену выше - используйте только urlencode. Если вы используете его в части пути, вы должны использовать rawurlencode .

2 голосов
/ 14 мая 2010
$array = explode('/', '/this/is/my/file right here.jpg');
foreach ($array as &$value) {
        $value = urlencode($value);
}
print implode('/', $array);
2 голосов
/ 14 мая 2010

Это должно решить вашу проблему.

str_replace("%2F","/",urlencode('/this/is/my/file right here.jpg'));
...