Bonjour,

J'espère ne pas me tromper de rubrique pour ce problème.

Voilà, je développe un site internet web avec la partie back-office.
Au début l'administrateur a le choix entre ajouter, supprimer ou modifier une image. Puis, via Ajax, j'affiche un autre formulaire contenant un champ input file. Ensuite, je souhaite récupérer le fichier afin de le mettre sur le serveur ftp. Lorsque ce n'est pas géré par Ajax, pas de soucis. J'ai trouvé sur différents forums qu'il parlait de iframe, mais j'ai du mal à comprendre.

Voici le code (je me concentre sur la partie ajouter une image)
fichier formulaire.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<tr>
		<td>Choix à effectuer</td>
		<td>
			<select name='typeMessage' id='typeM' onChange="javascript:makeRequest('repPhpAjax6.php','typeM','infoCompl',0,'');">
				<option value='modifier'>Modifier les images</option>
				<option value='ajouter'>Ajouter une image</option>
				<option value='supprimer'>Supprimer une image</option>
			</select>
		</td>
	</tr>
</table>
<table width='600px' id='infoCompl'>
 
</table>
fichier repPhpAjax6.php
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
echo "
 
		<tr>
			<td>Nom de l'image</td>
			<td>
				<input type='name' name='nom'>
			</td>
		</tr>
 
		<tr>
			<td>Image</td>
			<td>
				<input type='file' name='image'>
			</td>
		</tr>
 
		<tr>
			<td colspan='2' align='center' class='instruction'> Attention, les plaquettes doivent être des images (format jpg ou png) et de bonne qualité (pour l'agrandissement dans les popups). </td>
		</tr>";
		echo "<div id='envoyer'>
							<input type='hidden' name='formulaire' value='ok'>
							<input type='submit' value='Ajouter'> 
 
					</form>";
fichier formulaire.php
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
if($modif=="ajouter")
{
	$nom=$_POST['nom'];
	$image=$_POST['image'];
	$fichier_destination_photo;
	$fichier_destination_vignette;
 
	echo $nom;
 
	 // Calcul de l'id de la nouvelle photo pour ensuite l'insérer dans le nom de l'image de destination
	$query2 = "SELECT * FROM ActivCentrale;";
	$result2 = mysql_query ( $query2 );
	$donnees2 = mysql_fetch_array ( $result2 );
	$nbImageAVenir = $donnees2["nbrePhotos"] + 1;
 
	$fichier=$_FILES["image"]["name"];
	echo $fichier;
	echo $_FILES["image"]["name"];
	echo $_FILES["image"]["tmp_name"];
 
	$image=$_FILES["image"]["tmp_name"];
	if(substr($fichier,-3) == "jpg" || substr($fichier,-3) == "JPG" || substr($fichier,-3) == "png" || substr($fichier,-3) == "PNG" )
		{
			// ouverture en écriture ( 777 ) du répertoire de destination
			$permission = decoct(0777) ;
			$chmod_cmd = 'CHMOD '.$permission.' nouveauSite/images/activCentrale/photos' ;
			$chmod_cmd2 = 'CHMOD '.$permission.' nouveauSite/images/activCentrale/vignettes' ;
			$chmod = ftp_site( $conn_id, $chmod_cmd);
			$chmod = ftp_site( $conn_id, $chmod_cmd2);
 
			//Calcul des tailles initiales de la photo insérée
			$taille_initiale=getimagesize($image);
			$largeur_initiale=$taille_initiale[0];
			$longueur_initiale=$taille_initiale[1];
 
                       // Calcul des tailles définies pour l'image de destination
		       $largeur_destination_photo=343;
			$longueur_destination_photo=($largeur_destination_photo*$longueur_initiale)/($largeur_initiale);
 
			$largeur_destination_vignette=151;
			$longueur_destination_vignette=($largeur_destination_vignette*$longueur_initiale)/($largeur_initiale);
 
			// Création en mémoire de l'image de destination
			$image_en_memoire_photo = ImageCreateTrueColor ( $largeur_destination_photo, $longueur_destination_photo ) or die ("jojkojo");
			$image_en_memoire_vignette = ImageCreateTrueColor ( $largeur_destination_vignette, $longueur_destination_vignette ) or die ("jhkhjjk");
 
			// Conversion du fichier temporaire en image source mémoire
			$image_source_en_memoire;
			if(substr($fichier,-3) == "png" || substr($fichier,-3) == "PNG" )
			{
				$image_source_en_memoire = ImageCreateFromPNG ( $image ) or die ("kjmk");
			}
			else
			{
				$image_source_en_memoire = ImageCreateFromJPEG ( $image) or die ("khjbnvg");
			}
 
			// Copie de l'image source mémoire dans l'image mémoire de destination
			ImageCopyResized ( $image_en_memoire_photo, $image_source_en_memoire, 0, 0, 0, 0, $largeur_destination_photo, $longueur_destination_photo, $largeur_initiale, $longueur_initiale) or die ("jgfhg");
			ImageCopyResized ( $image_en_memoire_vignette, $image_source_en_memoire, 0, 0, 0, 0, $largeur_destination_vignette, $longueur_destination_vignette, $largeur_initiale, $longueur_initiale) or die ("gf");
 
			// Nom du futur fichier de destination
			$fichier_destination_photo = "../images/activCentrale/photos/".$nbImageAVenir.".".substr($fichier,-3);
			$fichier_destination_vignette = "../images/activCentrale/vignettes/".$nbImageAVenir.".".substr($fichier,-3);
 
			echo $fichier_destination_photo;
 
			// Suppression des futurs fichiers de destination
			 @unlink ( $fichier_destination_photo);
			@unlink ( $fichier_destination_vignette);
 
 
			// Enregistrement du fichier image de destination 
			if(substr($fichier,-3) == "png" || substr($fichier,-3) == "PNG" )
			{
				ImagePNG( $image_en_memoire_photo, $fichier_destination_photo, 90 ) or die ("se");
				ImagePNG( $image_en_memoire_vignette, $fichier_destination_vignette, 90 ) or die ("pkk");
			}
			else
			{
				ImageJPEG ( $image_en_memoire_photo, $fichier_destination_photo, 90 ) or die ("mp");
				ImageJPEG ( $image_en_memoire_vignette, $fichier_destination_vignette, 90 ) or die ("ôkk");
			}					
 
 
			// Suppression des variables images en mémoire
			ImageDestroy ( $image_en_memoire_photo );
			ImageDestroy ( $image_en_memoire_vignette );
			ImageDestroy ( $image_source_en_memoire );
 
			$permission = decoct(0755) ;
			$chmod_cmd = 'CHMOD '.$permission.' nouveauSite/images/activCentrale/photos' ;
			$chmod_cmd2 = 'CHMOD '.$permission.' nouveauSite/images/activCentrale/vignettes' ;
			$chmod = ftp_site( $conn_id, $chmod_cmd);
			$chmod = ftp_site( $conn_id, $chmod_cmd2);
		}
Le dernier fichier il y a un soucis il ne reconnaît pas $image et si je met $_FILES["image"]["tmp-name"], il y a toujours un soucis pour enregistrer l'image par la suite.

Merci d'avance pour votre aide.