2016-04-16 9 views
2

私はYiiフレームワークのデータベーステーブルからtcpdf拡張子を使用してpdfファイルを生成したい、拡張子はこのコードを使用して保護された/拡張子ファイルである(私は作者を使用していない)tcpdf拡張子を使用してyiiのデータベーステーブルからpdfファイルを生成

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(); 

return $ this-> render( 'createPdf'); }

私はパスとそれがどのように右の作り方と間違っているものを

require_once($path . '/extensions/tcpdf/tcpdf.php'); 

声明の中で、このエラー

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

がありますか?助けてください。

答えて

1

システム生成パスには、バックスラッシュとスラッシュが使用されています。これはシステム固有です。あなたのコードはWindows上でスラッシュの代わりにファイルパスにバックスラッシュを使用するUnix上で動作するかもしれません。

あなたはこの行を変更する必要があります

require_once($path . '\extensions\tcpdf\tcpdf.php'); 

require_once($path . '/extensions/tcpdf/tcpdf.php'); 

関連する問題