Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter下载文件时收到警告消息_Php_Codeigniter_Phpexcel - Fatal编程技术网

Php Codeigniter下载文件时收到警告消息

Php Codeigniter下载文件时收到警告消息,php,codeigniter,phpexcel,Php,Codeigniter,Phpexcel,我现在可以下载PHPExcel文件了。然而,出于某种原因,我收到一个安全警报,说这个文件可能是病毒 下面代码中的问题:如何确保它不会导致消息显示 谢谢你抽出时间 <?php class Events extends MX_Controller { public function generate_excel() { $query = $this->db->get('event'); $excelresults = $query-&

我现在可以下载PHPExcel文件了。然而,出于某种原因,我收到一个安全警报,说这个文件可能是病毒

下面代码中的问题:如何确保它不会导致消息显示

谢谢你抽出时间

<?php

class Events extends MX_Controller {

    public function generate_excel() {

        $query = $this->db->get('event');
        $excelresults = $query->result_array();

        require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel.php');
        require (APPPATH . 'third_party/PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php');

        $objPHPExcel = new PHPExcel();

        $objPHPExcel->getProperties()->setCreator("");
        $objPHPExcel->getProperties()->setLastModifiedBy("");

        $objPHPExcel->getProperties()->setSubject("");
        $objPHPExcel->getProperties()->setCreator("");
        $objPHPExcel->getProperties()->setDescription("");

        $objPHPExcel->setActiveSheetIndex(0);

        $objPHPExcel->getActiveSheet()->SetCellValue("A1", 'Event');
        $objPHPExcel->getActiveSheet()->SetCellValue("B1", 'Event Title');
        $objPHPExcel->getActiveSheet()->SetCellValue("C1", 'Event Date');
        $objPHPExcel->getActiveSheet()->SetCellValue("D1", 'Event Start Time');

        foreach (range('A', $objPHPExcel->getActiveSheet()->getHighestDataColumn()) as $col) {
        $objPHPExcel->getActiveSheet()
                ->getColumnDimension($col)
                ->setAutoSize(true);
        } 

        $excelrow = 2;

        foreach ($excelresults as $excelresult => $excelvalue) {
            $objPHPExcel->getActiveSheet()->SetCellValue("A" . $excelrow, $excelvalue['event']);
            $objPHPExcel->getActiveSheet()->SetCellValue("B" . $excelrow, $excelvalue['event_title']);
            $objPHPExcel->getActiveSheet()->SetCellValue("C" . $excelrow, $excelvalue['event_date']);
            $objPHPExcel->getActiveSheet()->SetCellValue("D" . $excelrow, $excelvalue['event_start_time']);

            $excelrow++;
        }

        $filename = 'Bowling-Events-For-' . date('Y') . '.xlsx';
        $objPHPExcel->getProperties()->setTitle("Riwaka Bowling Club Events");

        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");
        header("Content-Disposition: attachment; filename=".$filename."");
        header("Content-Transfer-Encoding: binary");
        header("Pragma: no-cache");
        header("Expires: 0");
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save('php://output');

        exit();

    }
}
供参考

也可以尝试这些标题

header("Content-Type: application/vnd.ms-excel; charset=utf-8"); # Important 
header("Content-Disposition: attachment; filename=abc.xls");  
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);

根据您的环境、病毒防护或浏览器,您可能会认为它是安全的。尝试托管provider@AbdullaNilam我还没有,我在本地主机上使用xamppcheck和下面的herderI现在也尝试了vhost错误。如果没有,我也会尝试上面的代码。不,对不起。看来我必须使用vHost来完成这个项目,谢谢你的帮助。你总是给人很好的建议。