我想使用tcpdf扩展从Yii框架中的数据库表生成pdf文件,扩展名在protected / extensions文件中,使用此代码(我不使用作曲家)
public function actionCreatepdf() {
$path = Yii::$app->basePath;
require_once($path . '/extensions/tcpdf/tcpdf.php');
$pdf = new TCPDF();
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 001');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
$pdf->SetHeaderData('', 0, PDF_HEADER_TITLE, '');
$pdf->setHeaderFont(Array('helvetica', '', 8));
$pdf->setFooterFont(Array('helvetica', '', 6));
$pdf->SetMargins(15, 18, 15);
$pdf->SetHeaderMargin(5);
$pdf->SetFooterMargin(10);
$pdf->SetAutoPageBreak(TRUE, 0);
$pdf->SetFont('dejavusans', '', 7);
$pdf->AddPage();
$pdf->SetFillColor(255, 0, 0);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(128, 0, 0);
$pdf->SetLineWidth(0.1);
$pdf->SetFont('');
// Header
$tbl_header = '<table border="1">';
$tbl_footer = '</table>';
// Data
$tbl = '';
$sql = "select * from personal";
$data = Yii::app()->db->createCommand($sql)->queryAll();
for ($i = 0; $i < count($data); $i++) {
$tbl .= '<tr>' .
'<td>' . $data[$i]['first_name'] . '</td>' .
'<td>' . $data[$i]['surname'] . '</td>' .
'<td>' . $data[$i]['age'] . '</td>' .
'</tr>';
}
$pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, '');
$pdf->Output("Student_Details.pdf", "D");
Yii::app()->end();
返回$ this-&gt; render('createPdf'); }
我有这个错误
PHP Compile Error – yii\base\ErrorException
frontend\controllers\CvController::actionCreatepdf(): Failed opening required 'C:\xampp\htdocs\advanced1\frontend/extensions/tcpdf/tcpdf.php' (include_path='.;C:\xampp\php\PEAR')
在声明中
require_once($path . '/extensions/tcpdf/tcpdf.php');
路径有什么问题以及如何使其正确?请帮忙。
答案 0 :(得分:1)
如您所见,在系统生成的路径中,有反斜杠,您使用了正斜杠。这是系统特定的。您的代码可能适用于Unix,它在文件路径中使用反斜杠而不是在Windows中使用正斜杠。
您应该更改此行:
require_once($path . '/extensions/tcpdf/tcpdf.php');
到
require_once($path . '\extensions\tcpdf\tcpdf.php');