Bonjour à tous ,
Je shouaite importer des images jpg via un formulaire, l'image sera renommée via un champs SerialID + .jpg et mise dans un fichier img/motos/.
Voici mon code formulaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<form name="upload" enctype="multipart/form-data" method="post" action="verif_ajout_moto.php">
<input type="file" name="file">
<tr>
	<td>SerialId: </td>
	<td><input type = "text" name = "SerialId"/></td>
</tr>
<TR>
	<TD align ="center">
	<input type="submit" name="bouton_submit" value="Envoyer le fichier">
	</TD>
<TR>
</form>
Et la verif 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
97
98
99
100
101
102
<?php
$SerialId = $_POST['SerialId'];
 
// Définition des variables globales
// Récupération du dossier dans lequel le fichier sera uploadé								      
$DESTINATION_FOLDER = "/img/motos/";
// Taille maximale de fichier, valeur en bytes					
$MAX_SIZE = 5000000;											
// Récupération de l'url de retour								
$RETURN_LINK = "ajoutermoto.php";					
// Définition des extensions de fichier autorisées (avec le ".")//
$AUTH_EXT = array(".jpeg",".jpg","");											
 
// Fonction permettant de créer un lien de retour automatique
function createReturnLink(){
	global $RETURN_LINK;
	echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
}
 
// Fonction permettant de vérifier si l'extension du fichier est autorisée.
function isExtAuthorized($ext){
	global $AUTH_EXT;
	if(in_array($ext, $AUTH_EXT)){
		return true;
	}else{
		return false;
	}
}
 
// On vérifie que le champs contenant le chemin du fichier soit bien rempli.
if(!empty($_FILES["file"]["name"]))
{	
	// Nom du fichier choisi:
	$nomFichier = $SerialId.".jpg";
	//echo $nomFichier;
	//Nom temporaire du fichier 
	$temp_nomFichier = $_FILES["file"]["tmp_name"];
	// Type du fichier choisi:
	$typeFichier = $_FILES["file"]["type"] ;
	// Poids en octets du fichier choisit:
	$poidsFichier = $_FILES["file"]["size"] ;
	// Code de l'erreur si jamais il y en a une:
	$codeErreur = $_FILES["file"]["error"] ;
	// Extension du fichier
	$extension = strrchr($nomFichier, ".");
 
	print_r($_FILES);
	die;
 
	// Si le poids du fichier est de 0 bytes, le fichier est invalide (ou le chemin incorrect) => message d'erreur
	// sinon, le script continue.
	if($typeFichier == "image/pjpeg"){
		if($poidsFichier <> 0){
			// Si la taille du fichier est supérieure à la taille maximum spécifiée => message d'erreur
			if($poidsFichier < $MAX_SIZE){
				// On teste ensuite si le fichier a une extension autorisée
				if(isExtAuthorized($extension)){	
					// Ensuite, on copie le fichier uploadé
					$uploadOk = move_uploaded_file($temp_nomFichier, $DESTINATION_FOLDER.$nomFichier);
					if($uploadOk){
						header("Location: ajoutermoto.php");
					}else{
						echo($DESTINATION_FOLDER.$nomFichier."<BR>");
						echo $nomFichier."<BR>";
						echo $typeFichier."<BR>";
						echo $temp_nomFichier."<BR>";
						echo $poidsFichier."<BR>";
						echo $extension."<BR>";
						echo("L'upload a échoué !<br><br>");
					}
				}else{
					echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
					echo("<FORM ACTION=\"choix_fichier.php\">");
					echo("<input type=\"submit\" value=\"Retour\">");
					echo("<BR><BR>");
				}
			}else{
				$tailleKo = $MAX_SIZE / 1000;
				echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
				echo("<FORM ACTION=\"ajoutermoto.php\">");
				echo("<input type=\"submit\" value=\"Retour\">");
				echo("<BR><BR>");
			}				
		}else{
			echo("Le fichier choisi est invalide !<br>");
			echo("<FORM ACTION=\"ajoutermoto.php\">");
			echo("<input type=\"submit\" value=\"Retour\">");
			echo("<BR><BR>");
		}
		}else{
			echo ("L'upload à échoué car le fichier ".$nomFichier." n'est pas un fichier de type image/jpg .<br>");
			echo("<FORM ACTION=\"ajoutermoto.php\">");
			echo("<input type=\"submit\" value=\"Retour\">");
			echo("<BR><BR>");
		}
}else{
	echo("Vous n'avez pas choisi de fichier !<br>");
	echo("<FORM ACTION=\"ajoutermoto.php\">");
	echo("<input type=\"submit\" value=\"Retour\">");
	echo("<BR><BR>");
}
?>
L'erreur est la suivante il me dit :
Warning: move_uploaded_file(/img/motos/test.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\verif_ajout_moto.php on line 60

Warning: move_uploaded_file(): Unable to move 'C:/Program Files/EasyPHP1-8\tmp\php7B.tmp' to '/img/motos/test.jpg' in c:\program files\easyphp1-8\www\verif_ajout_moto.php on line 60
ou d'apres le print_r($_FILE):
Array ( [file] => Array ( [name] => Copie de HCBR1000R.jpg [type] => image/jpeg [tmp_name] => C:/Program Files/EasyPHP1-8\tmp\php8E.tmp [error] => 0 [size] => 35126 ) ) L'upload à échoué car le fichier test.jpg n'est pas un fichier de type image/jpg .
Peut être que vos yeux avertits vont trouver cette facheuse erreur.
Merci avant toute chose pour votre aide.