codeigniter 代码点火器- TCPDF错误:无法创建输出文件

kcugc4gi  于 2022-12-07  发布在  其他
关注(0)|答案(4)|浏览(109)

我正在用Codeigniter开发一个系统。我想生成PDF格式的采购订单并保存在文件夹中。所以,我使用TCPDF库来生成PDF。但是我收到了以下错误。

**TCPDF ERROR: Unable to create output file: http://localhost/new-esup/po/14-22-25-04-2015.pdf**

我使用了以下代码。

<?php

    tcpdf();
    $obj_pdf = new TCPDF('P', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $obj_pdf->SetCreator(PDF_CREATOR);
    $title = "";
    $obj_pdf->SetTitle($title);
    $obj_pdf->SetHeaderData('', '', $title, PDF_HEADER_STRING);
    $obj_pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $obj_pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    $obj_pdf->SetDefaultMonospacedFont('helvetica');
    //$obj_pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $obj_pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    $obj_pdf->SetMargins(PDF_MARGIN_LEFT, '5', PDF_MARGIN_RIGHT);
    $obj_pdf->setPrintHeader(false);
    $obj_pdf->setPrintFooter(false);
    $obj_pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    $obj_pdf->SetFont('helvetica', '', 12);
    $obj_pdf->setFontSubsetting(false);
    $obj_pdf->AddPage();
    $content = 'HTML Text'
         $obj_pdf->writeHTML($content, true, false, true, false, '');

        $path = base_url() . 'po/';
        $file_name = $rfq_row->rfq_id . '-' . $quote_row->quote_id . '-' . date('d-m-Y') . '.pdf';
        $full_path = $path . $file_name;
        ob_clean();
        $obj_pdf->Output($full_path, 'F');
?>

有人能帮我吗?我浪费了很多时间来解决这个错误。

7d7tgy0s

7d7tgy0s1#

删除tcpdf_static.php下静态函数中的条件'if语句..',它起作用了!!

public static function fopenLocal($filename, $mode) {
    /*if (strpos($filename, '://') === false) {
        $filename = 'file://'.$filename;
    } elseif (strpos($filename, 'file://') !== 0) {
        return false;
    }*/
    return fopen($filename, $mode);
}
4xrmg8kj

4xrmg8kj2#

尝试使用FCPATH而不是base_url()

$obj_pdf->Output(FCPATH.'your/path/directory/filename.pdf', 'F');
62lalag4

62lalag43#

运行脚本时,请确保您文件没有在任何地方打开。如果它在其他地方打开,则TCPDF无法打开它。

zbsbpyhn

zbsbpyhn4#

当文件(即将创建)已存在于目录中时,会出现此错误。

相关问题