Bonjour, j'essaye de mettre en place un outil qui génère un fichier docx à partir de mes données et le propose en téléchargement.

Il se sauvegarde aussi sur le serveur et lorsque le navigateur propose de télécharger. Lorsque j'ouvre le document Word me dit "impossible d’ouvrir le fichier Fichier.docx. Des problèmes ont été décelés dans son contenu"

Sur le serveur il s'ouvre parfaitement... J'ai vu un sujet semblable ici.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$PHPWord = new \Phpdoc_Phpdoc();
 
        $document = $PHPWord->loadTemplate('Template.docx');
 
        $document->setValue('Value1', 'Sun');
        $document->setValue('Value2', 'Mercury');
        $document->setValue('Value3', 'Venus');
        $document->setValue('Value4', 'Earth');
        $document->setValue('Value5', 'Mars');
        $document->setValue('Value6', 'Jupiter');
        $document->setValue('Value7', 'Saturn');
        $document->setValue('Value8', 'Uranus');
        $document->setValue('Value9', 'Neptun');
        $document->setValue('Value10', 'Pluto');
 
        $document->setValue('weekday', date('l'));
        $document->setValue('time', date('H:i'));
 
        $document->save('Solarsystem.docx');
 
        $file = dirname(__FILE__).'/../../../../web/Solarsystem.docx';
        var_dump(basename($file));
 
        $response = new Response();
        //$response->setStatusCode(200);
        $response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
        $response->headers->set('Content-Disposition','attachment; filename='.basename($file));
        $response->headers->set('Content-Transfer-Encoding', 'binary');
        $response->headers->set('Content-Length', "".filesize($file));
        $response->setContent(file_get_contents($file));
        return $response;
Du coup j'ai du mal comprendre et je ne sais plus trop quoi faire... Si vous avez des idées.

EDIT : Résolu, un var_dump trainait dans mon code est était interprété dans le fichier ... 3h pour finalement tester avec open-office qui me l'a affiché !