Php 页面未使用刷新重定向

Php 页面未使用刷新重定向,php,yii,Php,Yii,我正在从表单调用一个控制器函数,并重定向回同一页面。我只想刷新页面,以便显示flash消息。 它不会重定向到页面,而是停留在页面上并调用函数 代码如下: public function triggerDownload($DownData , $filename){ Yii::import('application.extensions.phpexcel.Classes.PHPExcel'); $objPHPExcel = new PHPExcel();

我正在从表单调用一个控制器函数,并重定向回同一页面。我只想刷新页面,以便显示flash消息。 它不会重定向到页面,而是停留在页面上并调用函数

代码如下:

  public function triggerDownload($DownData , $filename){
     Yii::import('application.extensions.phpexcel.Classes.PHPExcel'); 
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->setActiveSheetIndex(0);
        $rowCount = 1;
        $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, 'USER NAME');
        $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, 'EMAIL ADDRESS');
        if (array_key_exists("cam_id",$DownData)){
        $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, 'CAM TITLE');
        }
        $rowCount++;
        foreach ($DownData as $key => $value) {

         $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $value['username']);

         $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $value['email']);
         if (array_key_exists("cam_id",$DownData)){
         $objPHPExcel->getActiveSheet()->SetCellValue('C'.$rowCount, $value['cam_id']);
         }
         $rowCount++;
        }
         //make first row bold
        $objPHPExcel->getActiveSheet()->getStyle("A1:I1")->getFont()->setBold(true);
        $objPHPExcel->setActiveSheetIndex(0);
        for($col = 'A'; $col !== 'G'; $col++) {
            $objPHPExcel->getActiveSheet()
                ->getColumnDimension($col)
                ->setAutoSize(true);
        }
        header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        header("Content-Disposition: attachment; filename=\"".$filename.".xlsx\"");
        header("Cache-Control: max-age=0");
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save("php://output");

    Yii::app()->user->setFlash('success', 'Report Downloaded Successfully!');
    return $this->redirect('/admin/');
   }  
而不是

return $this->redirect('/admin/');
试一试


(无
return
needed)

您需要使用以下键入:

return $this->redirect(['admin']);
如果在beforeAction()中尝试此操作,则应使用send()方法


您不需要使用return,然后删除最后一个斜杠或添加索引。如果不工作,请尝试使用以下代码:
$this->重定向(数组('admin/index')
return $this->redirect(['admin']);
return $this->redirect(['admin'],302)->send();