有谁知道如何保存生成的pdf文件并在laravel中使用dompdf对其动态命名?我总是遇到这个错误
failed to open stream: No such file or directory
[尝试生成pdf文件并将其保存到项目目录时。这是我的控制器代码
$bills = Tagihan::join('pesanan', 'tagihan.id_pesanan', 'pesanan.id_pesanan')
->join('kendaraan', 'pesanan.id_kendaraan', 'kendaraan.id_kendaraan')
->join('kategori_mobil', 'kendaraan.id_kategori_kendaraan', 'kategori_mobil.id_kategori')
->join('users', 'pesanan.id_pengguna', 'users.id')
->where('pesanan.id_pesanan', $save->id_pesanan)
->select('pesanan.*', 'users.*', 'tagihan.*', 'kendaraan.*', 'kategori_mobil.nama_kategori')
->first();
$today = Carbon::now('GMT+7')->toDateString();
$pdf = new PDF();
$pdf = PDF::loadView('admin.tagihan.pdf', compact('bills','today'));
file_put_contents('public/bills/'.$noOrder.'.pdf', $pdf->output() );
return redirect()->route('pesananIndex');
我想用$ noOrder.'pdf'用自定义字符串保存我的pdf文件,但是当我使用这样的静态名称时
file_put_contents('public/bills/bubla.pdf', $pdf->output());
我没有错误,有解决方案吗?
您可以从http响应中获取OriginalContent到变量中,然后将其推送到文件中。
$pdf = PDF::loadView('admin.tagihan.pdf', compact('bills','today'));
$content = $pdf->download()->getOriginalContent();
Storage::put('public/bills/bubla.pdf',$content);
...