doume1301 2019-03-07 09:46
浏览 42
已采纳

使用变量作为文件名在php中不起作用

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:

enter image description here

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.

  • 写回答

3条回答 默认 最新

  • dsgrs26202 2019-03-07 09:52
    关注

    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.)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?