【问题标题】:FPDF Class and WordPress PDF uploadFPDF 类和 WordPress PDF 上传
【发布时间】:2014-07-31 06:29:34
【问题描述】:

我在网上商店中使用 FPDF 处理我的 PDF。每当用户结帐时,我想生成包含购物车中所有数据的 PDF,然后将 PDF 上传到 WordPress 中的媒体库。

我现在已经尝试了很多东西,但我还没有做出任何有效的东西。到目前为止,我只能通过以下方式将 PDF 保存到不同的文件夹:

$pdf->Output($_SERVER['DOCUMENT_ROOT'].'/invoice/nameofinvoice.pdf', 'F');

我的代码如下所示:

if ( ! function_exists( 'wp_handle_upload' ) ) require_once( ABSPATH . 'wp-admin/includes/file.php' );
$uploadedfile = $pdf->Output('dimserPdf2014.pdf', 'F');
$upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );

// die(var_dump($movefile));

$wp_filetype = $movefile['type'];
$filename = $movefile['file'];
$wp_upload_dir = wp_upload_dir();
$attachment = array(
    'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
    'post_mime_type' => $wp_filetype,
    'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
    'post_content' => '',
    'post_status' => 'inherit'
);

// Id of attachment if needed
$attach_id = wp_insert_attachment( $attachment, $filename);

它确实将一个文件上传到媒体库,但该文件是空的,如果我取消注释 die > var_dump 函数,我还会得到一个数组,根本没有说它是一个空文件。

这是我正在使用的脚本/类: http://www.fpdf.org/ 输出方法接受两个参数,文件名和保存/下载方法。正如你在这里看到的: http://www.fpdf.org/en/doc/output.htm 到目前为止,我已经尝试了每一个参数,但没有成功。

知道为什么 WordPress 上传的是空文件而不是我的 PDF 吗?

【问题讨论】:

    标签: php wordpress pdf fpdf


    【解决方案1】:

    我一直在使用mPDF 做一些工作,这是 FPDF 的一个(更好地记录和维护的恕我直言)分支。从我在文档中可以看到,Output 方法不会返回任何内容,除非您传递“S”dest

    另外,根据Codexwp_handle_upload 中的文件 用于处理$_FILES 超全局中的一项。如果您在上传目录中生成 PDF,则不需要它。

    试试这个:

    if ( ! function_exists ... ;
    $wp_upload_dir = wp_upload_dir();
    $uploadedfile = trailingslashit ( $wp_upload_dir['path'] ) . 'dimserPdf2014.pdf';
    $pdf->Output($uploadedfile, 'F');
    
    $attachment = array(
       'guid' => trailingslashit ($wp_upload_dir['url']) . basename( $uploadedfile ),
       'post_mime_type' => 'application/pdf',
       'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
       'post_content' => '',
       'post_status' => 'inherit'
    );
    
    // Id of attachment if needed
    $attach_id = wp_insert_attachment( $attachment, $uploadedfile);
    

    【讨论】:

    • 非常感谢!工作得很好,我肯定会研究 mPDF,它似乎比 fPDF 有更多功能:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    相关资源
    最近更新 更多