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