下载

时间:2017-09-21 23:31:20

标签: php codeigniter

我有一个基于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>

我不知道应该在哪里进行调试。

1 个答案:

答案 0 :(得分:0)

谢谢大家的帮助。事实证明,在<?php打开之前,在生成链接所在页面的几个文件中有一个空格。