Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何像浏览器一样使用php编码URL_Php_Url_Browser_Urlencode - Fatal编程技术网

如何像浏览器一样使用php编码URL

如何像浏览器一样使用php编码URL,php,url,browser,urlencode,Php,Url,Browser,Urlencode,我有一个像这样的URL http://www.example.com/Data/image/office-dôn-sì-à.jpg 我想使用php中的copy函数将该文件复制到我的服务器。因此,第一件事是将其编码成这样(我认为浏览器也会这样做) 但是如果我使用函数urlencode,完整的url将被编码为 http%3A%2F%2Fwww.example.com%2FData%2Fimage%2Foffice-d%C3%B4n-s%C3%AC-%C3%A0.jpg 它不再是URL,也不是我想

我有一个像这样的URL

http://www.example.com/Data/image/office-dôn-sì-à.jpg
我想使用php中的copy函数将该文件复制到我的服务器。因此,第一件事是将其编码成这样(我认为浏览器也会这样做)

但是如果我使用函数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

是否要使用HTTP包装器将文件从其他服务器下载到您的服务器?-如何获取URL?编码的ULR是从FF中的地址栏复制的。由于隐私问题,我确实更改了它的主机名。我想使用以下命令复制文件:
copy('http://www.example.com/Data/image/office-d%C3%B4n-s%C3%AC-%C3%A0.jpg','destination.jpg')
如果您确定只有最后一块(文件名)将包含特殊字符,则可以使用Russel的解决方案。函数encode_basename($url){$url=explode('/',$url);$base=array_pop($url);返回内爆('/',$url)。'/'.rawurlencode($base);}这个答案不应该被标记为接受,因为它不能解决问题。正如其他人所指出的,您不能使用
urlencode()
,而是
rawurlencode()
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