2011-10-21 2 views
3

есть файл, его название содержит пробел. ex) привет я хороший.zipcurl with empty space 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');