我在布局文件中有以下内容;
<?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/
由于
灰
答案 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
。