J'ai fait un script PHP qui upload un fichier XML ou une archive ZIP, ensuite lance une commande système sur un fichier jar et ce fichier jar produit un zip. Jusque là tout fonctionne bien.
Ensuite je cherche à télécharger ce zip produit par mon jar mais mon script affiche le code binaire de mon zip dans ma page au lieu de télécharger le zip.
Voici mon code :
J'ai aussi essayé le content type "application/zip" et ça donne la même chose. J'ai aussi essayé un "echo" à la place d'un "readfile" et ça m'affiche juste la valeur de "$rdfFile".
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
32
33
34 <?php $upload = FALSE; if (isset ($_FILES['fileToUpload']) && ($_FILES['fileToUpload']['type'] == "text/xml" || $_FILES['fileToUpload']['type'] == "application/zip")) { $destination_path = getcwd () . DIRECTORY_SEPARATOR . $_FILES['fileToUpload']['name']; if (move_uploaded_file ($_FILES['fileToUpload']['tmp_name'], $destination_path)) { echo "Upload finished, now translation is in progress<br/>"; $upload = TRUE; } if ($upload) { $commande = "java -jar NeptuneToRDF.jar " . $destination_path; exec ($commande, $output); if (!empty ($output)) { echo "There is a problem with the Neptune file"; } else { echo "Translation is ok"; unlink($destination_path); $rdfFile = basename(substr ($destination_path, 0, -4) . "_RDF.zip"); header("Content-disposition: attachment; filename=$rdfFile\n"); header("Content-Type: x/y\n"); readfile ($rdfFile); } } } else { echo "Thanks to choose a neptune file"; } ?>
Une idée de ce que j'aurai pu mal faire ?
![]()
Partager