如何使用cURL下载.xls头文件PHP文件

时间:2016-09-18 01:15:53

标签: php excel curl

所以,我有一个PHP脚本(脚本1),它是一个基本的网页,我向用户回应一些文字。每当用户加载脚本1时,我想POST到具有以下标题的PHP脚本:

header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=EXCBOSSTesting.xls"); 
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);

我正在使用cURL来调用脚本,但它并没有像我想要的那样下载文件。请记住.xls文件在调用后会生成,它不会作为服务器上的静态文件存在。这是我目前的代码。

$url = "http://mywebsite.com/script2.php";

$fields = array(
        'foo' => 'bar',
        'user' => 'currUser'
);

$postVars = http_build_query($fields);

//open the connection
$ch = curl_init();

$user = 'example';
$pass = 'examplePass';

$headers = array("Content-Type:   application/vnd.ms-excel; charset=utf-8");

curl_setopt($ch, CURLOPT_USERPWD, $user . ":" . $pass);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postvars);

curl_exec($ch);

// close connection
curl_close($ch);

如果我在浏览器中访问script2的URL,它将下载.xls文件,它可以正常工作。我在这里缺少什么?

0 个答案:

没有答案