Настройте имя файла в phpword - PullRequest
1 голос
/ 11 июля 2020

Можно ли изменить имя файла в phpword, когда я хочу его загрузить?

Я хочу, чтобы файл занимал prenoms экспортированной строки.

Мой код:

public function edit (Stagiaire $stagiaire)
  {
    $id = $stagiaire ->id;
    $desc1 = Stagiaire::find($id);
    $my_template = new \PhpOffice\PhpWord\TemplateProcessor(public_path('templateStagiaire.docx'));
    $my_template->setValue('id, $desc->id);
    $my_template->setValue('prenoms, $desc->prenoms);
    $my_template->setValue('nom, $desc->nom);

    $filename = $stagiaire->prenoms;
    try{
       $my_template->saveAs(storage_path('templateStagiaire.docx'));
       }catch (Réception $e){}
     return response()->download(storage_path('".$filename.".docx));

     }

Нужна помощь. Заранее спасибо.

1 Ответ

1 голос
/ 11 июля 2020

Laravel пример для загрузки файла:


    public function edit(Stagiaire $stagiaire, $downloadName = null)
    {
        $id = $stagiaire->id;
        $desc = Stagiaire::find($id);
        $my_template = new \PhpOffice\PhpWord\TemplateProcessor(public_path('templateStagiaire.docx'));
        $my_template->setValue('id', $desc->id);
        $my_template->setValue('prenoms', $desc->prenoms);
        $my_template->setValue('nom', $desc->nom);

        // save as `prenoms` filename
        $filename = $stagiaire->prenoms;
        try {
            $my_template->saveAs(storage_path("$filename.docx"));
        } catch (Reception $e) {
        }

        // if download name is null, then use filename
        $downloadName = $downloadName??$filename;
        
        return response()->download(storage_path("$filename.docx"))
            ->header('Content-disposition','attachment; filename="'.$downloadName.'"');

     }

аналогичный Laravel пример

...