2017-01-02 134 views
0

我使用捲曲獲得來自API調用下載的Excel文件,在我的API調用它返回一個Excel文件中的一個,捲曲API調用下載的文件

我喜歡強制下載軟件,Excel文件,怎麼能我用捲曲來做這個?

我試圖像這樣: -

$url = 'http://xyzwebsite.com/GetExcelParameterScheet'; 
$fields = array('TemplateID' => $id); 
$method = 'POST'; 

// Open connection 
$ch = curl_init(); 
// Set the url, number of POST vars, POST data 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); 

// Disabling SSL Certificate support temporarly 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields)); 

// Execute post 
$result = curl_exec($ch); 
if ($result === FALSE) { 
    die('Curl failed: ' . curl_error($ch)); 
} 

// Close connection 
curl_close($ch); 
+0

這裏有個答案http://stackoverflow.com/questions/22155882/php-curl-download-file – motanelu

+0

不,不像t帽子。我的API響應沒有填寫文件。不與數據的響應只包含下載文件。但insted下載文件。 @motanelu –

回答

1

如果您想保存您的服務器上的文件,添加

file_put_contents("sheet.xls",$result); 

如果要強制下載到網站訪問者,使用

header('Content-Type: application/octet-stream'); 
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"sheet.xls\""); 
echo $result;