Bonjour,
voici min problème.
J'ai un formulaire avec un imput file.
j'ai le traitement php pour traiter le fichier

Lorsque je l'execute : pas d'erreur sauf que je ne peux pas copier le tmp dans un autre dossier car de dossier temporaire pour l'upload est vide alors que le code error est à 0 (donc pas de problème !)

voici le code :
1) formulaire
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
 
<?php /* Date de création: 08/03/2007 */ ?>
<html>
<body>
<?php	 
/* bouton parcourir  avec un premier test sur la taille en octets (ici 2Mo : 2097152 octets)*/	 
echo '<form method="post" action="reception.php" enctype="multipart/form-data">';
echo '<input type="hidden" name="MAX_FILE_SIZE" value="1847300 " />'; 
echo '<label for="lefichier">Choix du fichier à transférer (Tous formats | max. 2Mo):</label><br><br>';
echo '<input size="80" type="file" name="lefichier"  id="lefichier"/><br><br>'; 
echo '<input type="submit" name="submit" value="Envoyer" />';
echo '</form>';	 
?>
</body>	
 </html>
2) 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
 
<?php /* Date de création: 12/03/2007 */ ?>
<html>
<body>
<?php	 
/* ATTENTION : Mettre les extentions en MAJ */
$extensions_interdites = array( 'EXE' , 'PHP' , 'DLL' , 'BAT', 'CMD', 'VBS' , 'WHS' );
 
if ($_FILES['lefichier']['error'] > 0){  
	$erreur = "Erreur lors du tranfsert"; 
	echo $erreur .'<br>';
	echo 'Code erreur : '.$_FILES['lefichier']['error'].' => ';  
	/* Gestion des codes erreurs */	
	switch ($_FILES['lefichier']['error']) { 
		case "1" : 
			echo ' Le fichier téléchargé excède la taille maximum configurée sur le serveur<br>';
			break;
  		case "2" : 
			echo ' Le fichier téléchargé excède la taille spécifiée dans le formulaire<br>';
			break;
    	 case "3" : 
			echo ' Le fichier n\'a été que partiellement téléchargé<br>';
			break; 
		case "4" : 
			echo ' Aucun fichier n\'a été téléchargé<br>';
			break;	
		case "6" : 
			echo ' Un dossier temporaire est manquant sur le serveur !<br>';
			break;	
		case "7" : 
			echo ' Echec de l\'écriture du fichier sur le serveur !<br>';
			break;	
		default:
     		echo ' Erreur inconnu !<br>';
		}
	}
else { 	   
echo '<PRE>';	  
print_r($_POST)	 ;
print_r($_FILES)	 ;
echo '</PRE>';
	 echo 'Transfert du fichier '.$_FILES['lefichier']['name'].' en cours... <br>';
	 echo 'Taille du fichier : '.$_FILES['lefichier']['size'].' octets <br>';	
	 /* Test sur la taille réelle reçue*/
	 if ($_FILES['lefichier']['size'] > $_POST['MAX_FILE_SIZE'] ){  
	 	echo 'Le fichier est trop gros : Transfert annulé ! '; 
	    } 
	 else {	
	 		 /* Test sur le type de fichier reçu : pas de fichier php ni exe et autre scripts . Basé sur l'extension*/ 
			$extension_dufichier = substr(strrchr($_FILES['lefichier']['name'], '.')  ,1);
			echo 'Type du fichier : '.$extension_dufichier .'<br>';
			if ( in_array(strtoupper($extension_dufichier),$extensions_interdites) ){	
			 	 echo '<br>Type de fichier interdit : Transfert annulé !';
				}
			else { 
					/* Ecriture du fichier temporaire dans un dossier prévu pour cela */
					$cible = microtime();
					$cible = "/lesloads/".str_replace(' ','',$cible).$_FILES['lefichier']['name']; 
					$resultat = move_uploaded_file($_FILES['lefichier']['tmp_name'],$cible);
					if ($resultat) {
						echo "Transfert réussi";	
						}  
					else {	 
						echo "Le transfert vers le serveur a echoué ! <br>";	
						echo  $_FILES['lefichier']['tmp_name'] ;
						}	
				 }
	 	  }
	} 
 
?>
</body>
</html>
3) résultat
Array
(
[MAX_FILE_SIZE] => 1847300
[submit] => Envoyer
)
Array
(
[lefichier] => Array
(
[name] => test.txt
[type] => application/x-javascript
[tmp_name] => C:\Apache\Apache2\htdocs\upload\php7.tmp
[error] => 0
[size] => 60340
)

)

Transfert du fichier test.txt en cours...
Taille du fichier : 60340 octets
Type du fichier : js
Le transfert vers le serveur a echoué !
C:\Apache\Apache2\htdocs\upload\php7.tmp