Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/05/2007, 18h18   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 103
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 103
Points : 16
Points : 16
Par défaut [Upload] problème upload de deux fichiers

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 :
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 :
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
dedel53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2007, 21h54   #2
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Réponse un peu bateau :Mettre des echos dans le fichier de traitement qui upload sur le serveur te permettra de savoir ce qu'il fait...
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2007, 07h12   #3
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Tu devrais lire ça :
http://www.php.net/manual/fr/features.file-upload.php
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h04.


 
 
 
 
Partenaires

Hébergement Web