Php 未定义变量,尽管它是在页脚部分TCPDF中定义的

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';

我正在处理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';       $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;