我正在寻找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);
}
提前致谢
答案 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();