cakePHP强制下载ical

时间:2012-01-28 12:06:22

标签: php cakephp

我在布局文件中有以下内容;

<?php
$Filename = "TheEvent.vcs";
header("Content-Type: application/force-download");
header("Content-Disposition: inline; filename=$Filename");
echo $content_for_layout;
?>

现在在控制器中我定义了这个布局,它正在工作,因为我可以看到我的文件的文本。唯一的问题是没有强制下载客户端。

虽然我正在使用cakePHP 2.0

,但我遵循了以下指南

http://labs.iamkoa.net/2007/09/07/create-downloadable-ical-events-via-cake/

由于

3 个答案:

答案 0 :(得分:1)

您可以立即使用新的2.0请求功能下载:

$this->response->download($filename);

http://www.dereuromark.de/2011/11/21/serving-views-as-files-in-cake2/

您可以使用file()和其他文档提供文件的方式 - 请参阅http://book.cakephp.org/2.0/en/controllers/request-response.html#cakeresponse

答案 1 :(得分:0)

这是因为“Content-Type:application / force-download”已被使用,您的HTTPd服务器无法识别。 因此,您的PHP脚本是一种未知类型的内容,您的浏览器获得了下载文件并保存的信号:)

答案 2 :(得分:0)

接受的答案让我Method download does not exist

这对我有用:

$this->response->download($filename);

注意request已替换为response

来源:subregions(recursive:boolean)