【问题标题】:Codeigniter - TCPDF ERROR: Unable to create output fileCodeigniter - TCPDF 错误:无法创建输出文件
【发布时间】:2019-08-12 21:04:16
【问题描述】:

我正在使用 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');
?>

谁能帮帮我。我浪费了很多时间来解决这个错误。

【问题讨论】:

  • 你检查你的文件夹权限了吗?
  • 但不知道如何查看文件夹权限
  • chmod($full_path, 0755);在 ob_clean() 之前写下这段代码;并尝试
  • 仍然显示同样的错误
  • 尝试捕捉异常并打印出来

标签: php codeigniter tcpdf


【解决方案1】:

删除tcpdf_static.php下静态函数中的条件'if statement..',就可以了!!

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

【讨论】:

    【解决方案2】:

    尝试使用FCPATH 而不是base_url()

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-11
        • 2018-01-10
        • 2012-08-04
        • 1970-01-01
        相关资源
        最近更新 更多