不能使用js或php生成文件来下载


Can't generate a file to download using js or php

我知道有很多教程,但由于某种原因,我没有设法将搜索集中在我的具体问题上。

我想有一个下载<a href="#" download="cal.ics">click</a>的链接

由于某些原因,它用来自我的页面的所有echo来填充文件,而不是我可以准备的字符串。

我错过了什么?

编辑:

我希望文件包含这个函数的返回值:

function createICS(){
header("Content-Type: text/Calendar; charset=utf-8'");
header("Content-Disposition: inline; filename=calendar.ics");
$ical = "BEGIN:VCALENDAR
    VERSION:2.0
    PRODID:-//Geektike/eventsboard//IL
    BEGIN:VEVENT
    UID:123456789
    SUMMARY:asd
    DTSTART:20140520T210000Z
    DTEND:20140520T220000Z
    LAST-MODIFIED:20111115T103014Z
    LOCATION:here
    DESCRIPTION:cool
    END:VEVENT
    END:VCALENDAR";
return $ical;
exit;
}

这个:<a href="#" download="cal.ics">click</a>将需要这个:<a href="#" download="cal.php">click</a>

然后创建cal.php文件,其中包含以下代码:

<?php
  print createICS();
?>

(只要cal.php文件可以访问createICS()函数,否则也将该函数放入cal.php文件中)。

必须使用输出缓冲来省略文件中不需要的数据。见http://ch1.php.net/manual/en/function.ob-start.php