У меня есть такой URL-адрес
http://www.example.com/Data/image/office-dôn-sì-à.jpg
Я хочу скопировать этот файл на мой сервер, используя функцию copy в php.Поэтому первое, что нужно сделать, это закодировать (я думаю, что браузеры делают то же самое)
http://www.example.com/Data/image/office-d%C3%B4n-s%C3%AC-%C3%A0.jpg
Но если я использую функцию urlencode , полный URL будет закодирован в
http%3A%2F%2Fwww.example.com%2FData%2Fimage%2Foffice-d%C3%B4n-s%C3%AC-%C3%A0.jpg
, который больше не является URL-адресом, а не тем, что я хочу.
Любая помощь?
Итак, другие ответы здесь в значительной степени проигнорировали ваш пост, кажется.Будем надеяться, что я не сделал то же самое.
Мне кажется, что вы хотите только закодировать базовое имя?Если это правда, эта специальная функция должна сделать свое дело:
function encode_basename($url) { $url = explode('/', $url); $base = array_pop($url); return implode('/', $url) . '/' . urlencode($base); } //returns: http://www.example.com/Data/image/office-d%25C3%25B4n-s%25C3%25AC-%25C3%25A0.jpg