Bonjour,
Je suis en train de développer une petite application qui me permettrait d'uploader des fichiers sur un serveur pour ensuite les crypter et les stocker
J'ai un petit problème concernant l'upload de fichier. Lorsque j'exécute l'application en Hosted Mode tout se passe comme je le souhaite. Par contre quand je met mon application en ligne, l'upload ne fonctionne pas.
Je travaille avec la librairie GXT.
Voilà mon code pour le client:
et le script php côté serveur:
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 ... final FormPanel form = new FormPanel(); form.setHeading("Ajouter un fichier"); form.setIconStyle("icon-upload"); form.setFrame(true); form.setLayout(new FlowLayout()); form.setSize(500, 145); form.setMethod(Method.POST); form.setAction("http://########/save.php"); form.setEncoding(Encoding.MULTIPART); String cleSecrete = "01234567890abcde"; String cleIv = "fedcba9876543210"; form.add(new Hidden("cle1",cleSecrete)); form.add(new Hidden("cle2",cleIv)); FileUpload labelUpload = new FileUpload(); labelUpload.setName("fichiertocrypt"); form.add(labelUpload); Button boutonValid = new Button("Valider", new SelectionListener<ButtonEvent> (){ public void componentSelected(ButtonEvent be) { // Soumission du formulaire form.submit(); } } ); ...
En fait la variable $_FILES['fichiertocrypt'] n'est pas initialisée ce qui veut dire que l'upload n'a pas eu lieu.
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
35
36
37
38
39
40
41
42 <?php function upload($index,$destination,$maxsize=FALSE,$extensions=FALSE){ //Test1: fichier correctement uploadé if (!isset($_FILES[$index]) OR $_FILES[$index]['error'] > 0) return FALSE; //Test2: taille limite if ($maxsize !== FALSE AND $_FILES[$index]['size'] > $maxsize) return FALSE; //Test3: extension $ext = substr(strrchr($_FILES[$index]['name'],'.'),1); if ($extensions !== FALSE AND !in_array($ext,$extensions)) return FALSE; //Déplacement return move_uploaded_file($_FILES[$index]['tmp_name'],$destination.$_FILES[$index]['name']); } $infile = $_FILES['fichiertocrypt']['name']; //Si l'upload n'as pas marché cette chaîne sera vide $upload = upload('fichiertocrypt','./',FALSE,FALSE); if($upload){ $secret_key = $_POST['cle1']; $iv = $_POST['cle2']; $outfile = "fichiers/".$infile.".crypted"; $plaintext = file_get_contents($infile); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$secret_key, $plaintext, MCRYPT_MODE_CBC, $iv); //Création du fichier crypté $fp=fopen($outfile,"w"); //Ecriture du fichier fwrite($fp,$crypttext); //Création du fichier de log //$fpl=fopen("log.txt","w"); //Ecriture du log //fwrite($fpl,$log); //Suppression du fichier clair utilisé unlink($infile); } ?>
Pourriez vous m'indiquer mon erreur ?
Merci.
Partager