So I have this code:
$pcbestand = date('Y-m-d h:i:s A') . ".xlsx";
$file = $pcbestand ;
header('Content-Disposition: attachment; filename=' . $file );
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Length: ' . filesize($file));
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');
readfile($pcbestand);
$pcbestand make en .xlsx file with the current date and time, so I am trying to give this name to my save as dialog, but this is what I get:
as you can see the .xlsx part is missing. what am I doing wrong? please help.
if I download the file the extension is null.
The issue is probably that windows filenames cannot contain the character :
. Try
$pcbestand = date('Y-m-d h_i_s A') . ".xlsx";
or even
$pcbestand = date('Y_m_d_h_i_s_A') . ".xlsx";
to stay consistent and remove spaces (spaces in filenames are usually not good too.)
Aside from using disallowed characters in your filename like :
that must be removed, you will also need to quote the name or get rid of all the spaces:
header('Content-Disposition: attachment; filename="' . $file . '"' );
Try
$pcbestand = date('Y-m-d') .".xlsx";
insted of
$pcbestand = date('Y-m-d h:i:s A') . ".xlsx";