Charles Smith
Charles Smith

Reputation: 3289

Files Not Saving to Laravel 9 Public Directory

I'm generating PDF documents on the fly using php-pdftk and saving it to the public directory. Works great locally, but on a production Digital Ocean server, the file won't save to the public directory. In my code below at the ->saveAs..., the 'docs/reg-forms/' are directories within public.

...
$pdf = new Pdf('/docs/ax_reg_form.pdf');
$result = $pdf->fillForm([
    'email' => $this->usercar->user->email,
    'date' => $this->usercar->created_at,
    ...
])
    ->needAppearances()
    ->saveAs('docs/reg-forms/'.$this->usercar->user->id.'_'.strtolower($this->usercar->user->first_name).'_'.strtolower($this->usercar->user->last_name).'_'.'car_class.pdf');


session()->flash('url', '/docs/reg-forms/'.$this->usercar->user->id.'_'.strtolower($this->usercar->user->first_name).'_'.strtolower($this->usercar->user->last_name).'_'.'car_class.pdf');

return redirect()->route('usercar.show', $this->usercar->id);

Upvotes: 1

Views: 636

Answers (1)

Riccardo Venturini
Riccardo Venturini

Reputation: 478

try to wrap with public_path helper

public_path('docs/reg-forms/');

and check if the path exists

if (!file_exists(public_path('docs/reg-forms/'))) {
    mkdir(public_path('docs/reg-forms/'), 0777, true);
}

Upvotes: 1

Related Questions