Bonjour


via un formulaire je voudrais uploader deux fichiers de formats différents(pdf, et gif ou jpeg). Je voudrais limiter la taille des deux fichiers mais avec une taille différente et faire un controle lors de l'upload des deux fichiers sur le serveur. Par exemple pour l'image 400ko et pour le pdf 3MO. Mais cela ne marche pas, et je ne comprends pas. Il upload le pdf que si il est inferieur a 1 MO alors que je lui indique une taille max a 4MO. De plus je voudrais verifier a la fois la taille et l'extension de chaque fichier.

voici le code de mon 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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<!-- On limite le fichier à 400ko-->
<input type="hidden" name="MAX_FILE_SIZE" value="40000000" />
 
 <table align="center" >
	<tr>
	  <td width="248"  class="titre_formulaire"><div align="left">Titulo del Cori Corito : </div></td>
	  <td width="304" ><div align="left">
	    <input class="textes1" name="titre" type="text" id="titre" />
	    </div></td></tr>
    <tr>
      <td height="28" class="titre_formulaire">Imagen del Cori Corito (en gif, jpeg): </td>
      <td><input type="file" name="fichier" /></td>
    </tr>
    <tr><td height="28" class="titre_formulaire"> <div align="left">Documento del Cori Corito (en PDF) : </div></td>
  <td><div align="left">
    <input name="fichier2" type="file" id="fichier2" />
  </div></td></tr>
  <tr>
    <td height="21" class="titre_formulaire">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
    <tr><td></td><td></td></tr>
	<tr> 
      <td>&nbsp;</td>
<?
$maDate = date("Y,m,d");
?>
	  <input type="hidden" name="date_pub" value="<? echo $maDate; ?>"/>
	  <td><div align="left">
	    <input type="submit" name="upload" value="Insertar el Cori Corito" />
	    </div></td>
    </tr>
  </table>
et voici le fichier de traitement qui upload sur le 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
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
 
if( $upload!='' )
{
$dest = 'images/cori/';
$urlRelative = 'images/cori/';
$fichier= $_FILES['fichier']['name'];
$fichier2= $_FILES['fichier2']['name'];
$taille_maxi =400000;
$taille_maxi2 = 40000000;
$fichier_temp = $_FILES['fichier']['tmp_name'];
$fichier_temp2 = $_FILES['fichier2']['tmp_name'];  
$taille = filesize($fichier_temp);
$taille2 = filesize($fichier_temp2);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf', '.PDF');
$extension = strrchr($_FILES['fichier']['name'], '.');
$extension2 = strrchr($_FILES['fichier2']['name'], '.'); 
//Début des vérifications de sécurité...
// insert into image(id,titre) values('','le titre');
 
 
 
	$titre=$_REQUEST["titre"];
	$date_pub=$_REQUEST["date_pub"];
 
	$sql="INSERT into cori (id, titre, date_pub) VALUES ('','$titre','$date_pub')";
 
 
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
 
// $id = mysql_insert_id()
 
$id = mysql_insert_id();
// move_upload_file ( $temp , 'images/upload/'. $id  . $extension
 
	if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
	{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
	}
	if(!in_array($extension2, $extensions)) //Si l'extension n'est pas dans le tableau
	{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
	}
	if($taille>$taille_maxi)
	{
     $erreur = 'Le fichier est trop gros...';
	}
	if($taille2>$taille_maxi2)
	{
     $erreur = 'Le fichier est trop gros...';
	}
	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
	{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
	 $fichier2 = strtr($fichier2, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier2 = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier2);
     if (move_uploaded_file ($fichier_temp, $dest.'/'.$id.$extension)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
	 if (move_uploaded_file ($fichier_temp2, $dest.'/'.$id.$extension2)){
	 	  echo '<p class="textes2">';
          echo "El Cori Corito ";
		  echo '<b>'.$titre.'</b>';
		  echo " esta insertado.";
		  echo '</p>';
     }
	 }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Fracaso del upload !';
     }
    }
	else
	{
     echo $erreur;
	}
  $sql = "UPDATE cori SET url_image = '".$urlRelative.$id.$extension."', url_doc = '".$urlRelative.$id.$extension2."' WHERE id= ". $id ;
  $sql2= "UPDATE last_update SET date_pub = '$date_pub' where id='1'";
 
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
	$requete2 = mysql_query($sql2, $cnx) or die( mysql_error() ) ;
}
merci de votre aide