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:
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();
       	        }
        }
);
 
...
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
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);
}
 
?>
En fait la variable $_FILES['fichiertocrypt'] n'est pas initialisée ce qui veut dire que l'upload n'a pas eu lieu.

Pourriez vous m'indiquer mon erreur ?

Merci.