fpdf错误,警告:in_array()期望参数2为数组 - 无法修改标头信息

时间:2013-07-26 16:40:45

标签: php fpdf

我正在寻找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();

当然都包含open php标记,以下行也接收来自前一个表单的数据。 $ 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);                 
                }

提前致谢

1 个答案:

答案 0 :(得分:1)

问题在于您的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();