I have an URL like this
http://www.example.com/Data/image/office-dôn-sì-à.jpg
I want to copy that file to my server using copy function in php. So the first thing is to encode it to this (I think browsers do the same thing)
http://www.example.com/Data/image/office-d%C3%B4n-s%C3%AC-%C3%A0.jpg
But if I use function urlencode, full url will be encoded to
http%3A%2F%2Fwww.example.com%2FData%2Fimage%2Foffice-d%C3%B4n-s%C3%AC-%C3%A0.jpg
which is not an URL anymore and not what I want.
Any help?
So, the other answers here have largely ignored your post, it seems. Let's hope I have not done the same.
It seems to me that you only want to encode the basename? If that is true, this ad-hoc function should do the trick:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With