让Restler方法返回Content-Disposition标头

时间:2015-04-10 05:52:29

标签: php restler

在我的一个get方法中,是否可以指定特定的Content-Type和Content-Disposition?收到我的数据后,我正在这样做:

return Scope::get('CsvFormat')->encode($data);

所以返回的数据是CSV格式。现在我想将内容类型设置为text / csv并设置Content-Disposition,以便它实际允许文件下载,而不是仅显示内容。

1 个答案:

答案 0 :(得分:1)

这是一个有效的例子!

Excel.php

<?php

class Excel
{
    /**
     * Download CSV data which can be rendered with Excel
     *
     * @return array
     * @format CsvFormat
     * @header Content-Disposition: attachment; filename="excel.csv"
     */
    public function download()
    {
        //csv compatible array
        $data = [['name' => 'John Doe', 'age' => '23'], ['name' => 'Mika', 'age' => '45']];

        return $data;
    }
}

您的index.php

<?php

require '../vendor/autoload.php';

use Luracast\Restler\Restler;

$r = new Restler();
$r->addAPIClass('Excel');

$r->setOverridingFormats('CsvFormat');
$r->handle();

尝试http://localhost/excel/download