Php 未定义变量,尽管它是在页脚部分TCPDF中定义的
我正在处理TCPDF库,我得到了错误消息(未定义的变量:第43行的D:\xampp\htdocs\test\lib\examples\test.php中的rand),尽管它是在页脚部分第10行定义的Php 未定义变量,尽管它是在页脚部分TCPDF中定义的,php,tcpdf,Php,Tcpdf,我正在处理TCPDF库,我得到了错误消息(未定义的变量:第43行的D:\xampp\htdocs\test\lib\examples\test.php中的rand),尽管它是在页脚部分第10行定义的 <?php require_once('tcpdf_include.php'); class MYPDF extends TCPDF { public function Header() { $image_file = K_PATH_IMAGES.'02.png';
<?php
require_once('tcpdf_include.php');
class MYPDF extends TCPDF {
public function Header() {
$image_file = K_PATH_IMAGES.'02.png'; $this->Image($image_file, 134.5, 16, 74, 28.5, 'PNG', '', 'T', false, 300, '', false, false, 0, false, false, false);
}
public function Footer() {
$rand = rand(0,9999);
$this->SetFont('arial', '', 10);
$this->SetXY(25, 25);
$this->Cell(20, 0, $rand, 0, 0, 'R', 0, '', 0, false, 'M', 'M');
}
}
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('ِِAbdulkarim Salem Alharbiِ'); $pdf->SetTitle('Taareef');
$pdf->SetSubject('Taareef'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetMargins(PDF_MARGIN_LEFT, 68, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$lg = Array();
$lg['a_meta_charset'] = 'UTF-8';
$lg['a_meta_dir'] = 'rtl';
$lg['a_meta_language'] = 'fa';
$lg['w_page'] = 'page';
$pdf->setLanguageArray($lg);
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// Header and Footer Section Ends Here--------------------------------------------------------- Main Body Starts
$pdf->SetFont('arial', '', 10);
$pdf->AddPage();
$pdf->SetXY(50, 50);
$pdf->Cell(20, 0, $rand, 0, 0, 'R', 0, '', 0, false, 'M', 'M');
$pdf->Output('hello', 'I');
?>
我需要将变量传递到以下文件部分
$rand
是Footer()
方法中的一个局部变量。您也从未调用$pdf->Footer()
@Barmar,因为我已从函数中移出,同样的IssueVariable不会自行消失。如果在使用变量之前在顶级作用域中指定了该变量,则应定义该变量。@Barmar您在一个常见的php文件中是正确的,但在使用TCPDF时,该变量不起作用。我解决这个问题的方法是在定义和引用变量global$rand时添加global;