2011-10-21 89 views
3

有一个文件,其名称包含空白空间。 ex)你好我很好.zip用空白空间url卷曲

我想用curl来读取文件。

如此,URL应该是这样的:

http://domain.com/hello I am good.zip 

但是,卷曲不能似乎读出那种文件名。 因为url格式不正确。

那么,有没有另一种方式来使用curl读取文件? 或者我不知道的一些选项?

服务器lang是php。 和我的卷曲代码如下:

$ch = curl_init(); 
$timeout = 5; 
curl_setopt($ch,CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
$data = curl_exec($ch); 
curl_close($ch); 
return $data; 

回答

7
$url = str_replace(" ","%20",$url); // to properly format the url 

$ch = curl_init(); 
$timeout = 5; 
curl_setopt($ch,CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
$data = curl_exec($ch); 
curl_close($ch); 
return $data; 
+0

我在想这是一个空间相关的问题,但我不确定。只有文件名空格的文件没有下载。谢谢。 – machineaddict

1

到底在哪儿有一个space使用%20,应该做的伎俩,希望。

因此,它将成为:

http://domain.com/hello%20I%20am%20good.zip 

希望这将这样的伎俩。

希望这会有所帮助。

2

使用urlencode('http://domain.com/hello I am good.zip');http://domain.com/'.urlencode('hello I am good.zip')尝试;