fpdf错误,警告:in_array()要求参数2为array-无法修改标头信息


fpdf error, Warning: in_array() expects parameter 2 to be array - Cannot modify header information

我正在寻找一些关于fpdf的帮助。

有趣的是,在域移动之前,脚本一直工作得很好,因为我在所有pdf导出中都有各种错误。

Warning: in_array() expects parameter 2 to be array, boolean given in /home/compaxit/public_html/members-area/transactions/general/basic/change_registered_office/data.php on line 88

我在不同的线路上收到了许多类似上面的警告。

最后我得到了这个警告:

Warning: Cannot modify header information - headers already sent by (output started at /data.php:88) in /pdf_includes/fpdf.php on line 1017
FPDF error: Some data has already been output, can't send PDF file.

我已经尝试了这里找到的一些解决方案,但到目前为止没有成功。

按照要求,前10行和后10行。。。

require('../../../../../pdf_includes/fpdf.php');
session_start();
//echo $_POST['test_1']; die;
$_SESSION['test_1'] = str_replace("  ",' ',$_SESSION['test_1']);
$_SESSION['test_2'] = str_replace("  ",' ',$_SESSION['test_2']);
$_SESSION['test_3'] = str_replace("  ",' ',$_SESSION['test_3']);
$_SESSION['test_4'] = str_replace("  ",' ',$_SESSION['test_4']);
$_SESSION['test_5'] = str_replace("  ",' ',$_SESSION['test_5']);
$_SESSION['test_6'] = str_replace("  ",' ',$_SESSION['test_6']);
$data = $_REQUEST['editor1'];
first 11 lines :)
last few:
$pdf = new PDF();
// First page
$pdf->AddPage();
$pdf->SetLeftMargin(19);
$pdf->SetRightMargin (15);
$pdf->Cell(10);
$pdf->SetFont('Arial','',10);
$pdf->WriteHTML($data);
$pdf->Output();

当然,两者都包含openphp标记,并且下面的行接收来自以前表单的数据。$data=$_REQUEST['editor1'];

然后是第75-102行,我相信这是错误的一行,如果我认为它的第88行是正确的…

        // Text
        if($this->HREF)
            $this->PutLink($this->HREF,$e);
            elseif($this->ALIGN=='center'){
                $ttt++;                             
                $this->SetFontSize(11); 
                if($ttt==2 || $ttt==3){                     
                    $this->MultiCell(0,5,trim($e),0,'C',0);
                } else {                        
                    $this->MultiCell(0,2,trim($e),0,'C',0);
                }
            }
        else {
            $this->SetFontSize(10);
            if(in_array(trim($e),$arrSR)){
                $this->SetFontSize(12);
            } else {
                $this->SetFontSize(10);
            }
            if(in_array(trim($e),$dirct)){
                if($jk==0){
                    $y = $this->GetY();
                    $this->SetY($y - 2.00);                 
                }

提前感谢

问题出在PHP配置上。您正在向输出流输出警告。这会影响PDF输出。您需要禁用警告。

一个简单的更改是进入php.ini文件,并查找"error_reporting"

error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING

或者,您可以在文件顶部的PHP代码中自行设置:

error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));

http://ca2.php.net/manual/en/function.error-reporting.php

或者,您可以通过在使用之前初始化$arrSR和$dirct来修复错误

$arrSR = array();
$dirct = array();