5

我正在尝试创建 xmlfile 并从我的程序中下载它,但它运行得不是很好。

这是我的代码:

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><mydoc></mydoc>');

    $xml->addAttribute('version', '1.0');
    $xml->addChild('datetime', date('Y-m-d H:i:s'));

    $person = $xml->addChild('person');
    $person->addChild('firstname', 'Someone');
    $person->addChild('secondname', 'Something');
    $person->addChild('telephone', '123456789');
    $person->addChild('email', 'me@something.com');

    $address = $person->addchild('address');
    $address->addchild('homeaddress', 'Andersgatan 2, 432 10 Göteborg');
    $address->addChild('workaddress', 'Andersgatan 3, 432 10 Göteborg');

    $xml->saveXML('test.xml');

    $response = Response::make($xml->asXML(), 200);
    $response->header('Content-Type', 'text/xml');

    return $response;

这是在我的浏览器中显示 xmlfile,但我希望出现一个弹出窗口,要求我下载刚刚创建的文件。我尝试使用 Response::download() 来尝试它,但这也不起作用,因为第一个参数应该是文件的路径。

任何帮助,将不胜感激。

4

1 回答 1

8

我认为您可能需要添加更多标题:

$response->header('Cache-Control', 'public');
$response->header('Content-Description', 'File Transfer');
$response->header('Content-Disposition', 'attachment; filename=test.xml');
$response->header('Content-Transfer-Encoding', 'binary');
$response->header('Content-Type', 'text/xml');
于 2013-10-09T13:23:19.697 回答