как сохранить файл dompdf в хранилище и динамически назвать файл в laravel - PullRequest
0 голосов
/ 22 марта 2020

Кто-нибудь знает, как сохранить сгенерированный файл PDF и назвать его динамически, используя dompdf в laravel? Я всегда сталкиваюсь с этой ошибкой

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');

я хочу сохранить свой файл PDF с пользовательской строкой с $ noOrder.'pdf ', но когда я использую stati c имя, подобное этому

file_put_contents('public/bills/bubla.pdf', $pdf->output());

У меня не было ошибки, какое-либо решение?

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете получитьOriginalContent из ответа http в переменную, а затем вывести sh в файл.

 $pdf = PDF::loadView('admin.tagihan.pdf', compact('bills','today'));

 $content = $pdf->download()->getOriginalContent();
 Storage::put('public/bills/bubla.pdf',$content);

 ...
...