Можно ли в одном из моих методов get указать конкретный Content-Type и Content-Disposition? После получения моих данных я делаю это:
return Scope::get('CsvFormat')->encode($data);
и поэтому возвращенные данные в формате CSV. Теперь я хочу установить тип содержимого на text / csv и установить Content-Disposition так, чтобы он фактически позволял загружать файл, а не просто отображал содержимое.
Вот рабочий пример!
В 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
Других решений пока нет …