Я генерирую файл JSON с PHP и через заголовки загружаю его, как только генерация файла завершена. Когда я запускаю приведенный ниже код, я смотрю в свою папку «downloads», и расширение загруженного файла - не «.json», а «.json.html».
Как сделать так, чтобы расширение файла оставалось ".json"?
Вот мой код:
foreach($tickets as $ticket)
{
$data['tickets'][] = [
'tickets_id' => $ticket->ticket_id,
'name' => strtolower($ticket->name),
'email' => strtolower($ticket->email),
'status' => $ticket->status
];
}
header('Content-Type: application/json');
header('Content-Disposition: attachment; filename=db.json');
header('Pragma: no-cache');
echo json_encode($data);
Загруженный файл: => db.json.html , а не db.json
Редактировать: полный код внизу
public function ticketsExportJSON($id)
{
$tickets = Ticket::where('event_id', $id)->with('event')->get();
$data = [];
$i = 0;
foreach($tickets as $ticket)
{
$i++;
if($i == 1)
{
$data = [
'event' => $ticket->event->title,
'date' => $ticket->event->event_date
];
}
else
{
$data['tickets'][] = [
'tickets_id' => $ticket->ticket_id,
'name' => strtolower($ticket->name),
'email' => strtolower($ticket->email),
'status' => $ticket->status
];
}
}
header('Content-Type: application/json');
header('Content-Disposition: attachment; filename=db.json');
header('Pragma: no-cache');
echo json_encode($data);
}
С маршрутом: / download / json для вызова функции ticketsExportJSON.