我使用PHP中的FPDF类来创建PDF。一切都很好,但是现在我需要标题中具有不同徽标的PDF。
创建标头效果很好。
class PDF extends FPDF {
function Footer() {
// some code
}
function Header() {
$this->Image('PDF/images/pdf_header.png', 0, 0, 215);
}
}
现在我需要这样的东西。我的文件中存在变量" $ is_summer"。
class PDF extends FPDF {
function Footer() {
// some code
}
function Header() {
if ($is_summer)
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
} else {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
}
但我得到:注意:undefined变量:createpdfpriv.php in Line 200 。。
好的,未定义的var。所以我尝试了
function Header($is_summer) {
if ($is_summer)
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
} else {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
另一个错误:警告:pdf :: header的声明($ is_summer(应与createpdfpriv.php中的fpdf :: header((在第145行145
中兼容也尝试了:
if ($is_summer) {
function Header() {
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
}
} else {
function Header() {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
也是一个错误:解析错误:语法错误,出乎意料的'if'(t_if(,在199 上的createpdfpriv.php中期望函数(t_function(。好的,有一个预期的功能,这是行不通的。
任何人可以帮忙吗?
也许您已经忘记了" $ this" is_summer"之前?您可以尝试一下:
class PDF extends FPDF{
private $isSummer = false;
function __construct($summer) {
parent::__construct();
$this->isSummer = $summer;
print "In BaseClass constructorn";
}
function Header() {
if ($this->isSummer) {
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
} else {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
}
使用时:
$mysummer = true; // or false
$mypdf = new PDF($mysummer);
您可以这样解决:
class PDF extends FPDF {
public $is_summer;
function Footer() {
// some code
}
function Header() {
if ($this->is_summer)
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
} else {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
}
所以您要做的是制作PDF对象时,将is_summer
属性设置为True或False,并且可以在Header
函数中使用该属性。
要执行此操作,您可以使构造函数这样的功能如此:
class PDF extends FPDF {
public $is_summer;
function __construct($is_summer){
$this->is_summer = $is_summer;
}
function Footer() {
// some code
}
function Header() {
if ($this->is_summer)
$this->Image('PDF/images/pdf_header_summer.png', 0, 0, 215);
} else {
$this->Image('PDF/images/pdf_header_winter.png', 0, 0, 215);
}
}
}