2017-09-29 1 views
1

Je peux télécharger un fichier PHPExcel OK maintenant. Comment jamais pour une raison quelconque je reçois une alerte de sécurité disant que ce fichier peut être des virusCodeigniter lorsque le fichier de téléchargement reçoit un message d'avertissement

enter image description here

Question Dans mon code ci-dessous comment puis-je faire en sorte que cela ne cause pas de message à apparaître.

Merci pour votre temps.

<?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(); 

    } 
} 
+0

pense que sa fonction de votre environnement, protection antivirus ou le navigateur peut être. Essayez avec le fournisseur d'hébergement –

+0

@AbdullaNilam Je n'en ai pas encore je suis sur localhost en utilisant xampp – user4419336

+0

vérifier avec ci-dessous –

Répondre

1

Pour votre information

Essayez ces en-têtes et

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); 
+0

J'ai maintenant aussi essayé avec erreur vhost s'en va avec ça, je vais essayer votre code ci-dessus aussi. – user4419336

+1

Non Désolé. On dirait que je dois utiliser vHost pour ce projet merci pour toute aide. Vous tous les moyens donnent de bons conseils. – user4419336