如何将mpdf生成的文件保存到文件夹中?

4

我在将mPDF生成的pdf保存到特定文件夹时遇到了问题。虽然pdf生成方面一切正常,但我无法将其保存到本地文件夹中。有人能帮我解决这个问题吗?


那个文件夹已经创建了吗?你是否设置了可写权限?但最重要的是,var_dump路径值是否正确保存?这也可能是因为你正在使用绝对路径,这可能会出现安全问题(感谢上帝)。因此,如果可能的话,请尝试使用相对路径。这是我的建议。无论如何,你的问题缺少很多信息,所以它可能会被删除。请尝试添加更多信息以防止发生这种情况。谢谢。 - Derfder
你说得没错。唯一的问题是mpdf库将pdf设置为$output = $mpdf->output(); 但我想把这个pdf保存在我的文件夹中。这样我之后就可以通过邮件发送它了。实际上,我正在生成发票,这张发票应该被发送到用户邮箱。 - Afghan Host
然后使用CI的上传库保存它。 - Derfder
我是这样做的:$this->mpdf->Output(realpath(APPPATH.'../file/invoice/')."arif.pdf",'F'); 但文件被保存在文件目录中,而不是发票文件夹中。 - Afghan Host
4个回答

5

简短的回答是要放置您计划保存文件的完整路径。像这样...

$mpdf->WriteHTML($html);
$mpdf->Output('/etc/home/JohnWayne/example/pdf/','F');

1
你可以使用写文件辅助功能来实现此操作。
$this->load->helper('file');
write_file('my_pdf_file.pdf',$generated_pdf);

文件助手

按照以下简单步骤操作。请使用BASEPATH而不是APPPATH。

$path   =   BASEPATH . 'file/invoice';

if(is_dir($path)){
    $this->mpdf->Output(realpath($path).'arif.pdf','F'); 
}else{
    echo 'error';
}

编辑:

这里有一个你可能会喜欢的替代方案 前往 application/config/constants.php 并在那里添加常量

define('FILE_PATH' , $_SERVER['DOCUMENT_ROOT']."my_project/file/");

然后像这样使用它。
$this->mpdf->Output(FILE_PATH ."invoice/arif.pdf",'F');

这个能行吗?write_file(base_url().'file/my/mypdf.pdf',$this->mpdf->output()); - Afghan Host
我已经以以下方式完成了此操作:$this->mpdf->Output(realpath(APPPATH.'../file/invoice/')."arif.pdf",'F'); - Afghan Host
但是文件被保存在文件目录而不是发票目录中。你能告诉我这是为什么吗? - Afghan Host
你能检查一下包含发票的文件夹是否存在吗?如果存在,就把文件写入其中。 - Muhammad Raheel
谢谢。我现在也有一个可行的替代方案了。请看下面我的回答。 - Afghan Host
@MohammadArif,你的答案在哪里? - Muhammad Raheel

1
我找到了解决方案。这很简单。就mPDF库而言,它不会解析base_url()。相反,我们必须使用$_SERVER['DOCUMENT_ROOT']来处理。在我的情况下,我已经这样做了; 打开Application/config文件夹中的config.php并插入以下内容;
$config['file_path']=$_SERVER['DOCUMENT_ROOT']."my_project/file/";

现在调用配置已经非常简单了;下面是我在控制器中所做的;

$this->mpdf->Output($this->config->item('file_path')."invoice/arif.pdf",'F');

问题已解决。如果我的代码有任何技术或逻辑问题,请告诉我。

1
在您的根目录中创建一个文件夹。
$mpdf->WriteHTML($html);
$mpdf->Output(FCPATH.'PDF/Broker.pdf','F');
echo $Ledger_Group_Report = base_url().'PDF/Broker.pdf';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接