我有一个基于codeigniter的网站,我希望用户下载.ics文件。在服务器上,文件中没有前导空格。当用户下载文件时,有一个前导空格。
这自然让我很困惑。我会做一个die();
看看发生了什么,但我不确定从哪里开始。
路线
$route['ics/'] = 'ics';
控制器
$ics_token = $this ->uri->segment(2);
// Directory path containing the calendar exports
$core_directory = $COMP_config->writable .'/calendar/';
$ics_file = FALSE;
if($this->uri->segment(2) == 'calendar.ics'){
$ics_file = $core_directory . 'calendar.ics';
$ics = file_get_contents($ics_file);
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: inline');
// new line feeds NEED to be a real new line!
$ics = str_replace("\n", "\r\n", $ics);
die(trim($ics));
}
查看
$ics_url = site_url().'ics/calendar.ics';
<p class="text-center">Enter this URL into iCal, Google Calendar, Outlook: <a href="<?php echo $ics_url; ?>" target="_blank"><?php echo($ics_url); ?></a></p>
我不知道应该在哪里进行调试。
答案 0 :(得分:0)
谢谢大家的帮助。事实证明,在<?php
打开之前,在生成链接所在页面的几个文件中有一个空格。