Page 1 sur 2

uploader DES fichierS en PHP

Posté : 06 nov. 2005, 18:01
par Gakman
Salut !

J'ai bien suivi le tuto (http://www.phpfrance.com/tutoriaux/inde ... e-fichiers).
Seulement le premier des 2 fichiers est bien uploadé mais pas le second... En effet il n'est traité nul part dans la seconde partie. Faut-il reprendre une 2e fois tout le code ?
Comment faire ?
Merci.

Posté : 06 nov. 2005, 18:01
par Gakman
Voilà le code de mes pages :
page de post :
<form action="index.php?lang=<?=$_GET['lang']?>&rub=post_rez&jeu=<?=$_GET['jeu']?>" method="post" enctype="multipart/form-data" id="post_script" name="post_script">
<input type="hidden" name="MAX_FILE_SIZE" value="83886080" />
<fieldset>
<p class="base_Rouge">S&eacute;lectionnez le(s) fichier(s) que vous voulez envoyer :<br />
<label for="fichier">Fichier : </label><input id="fichier" name="fichier" type="file" size="40" /><br />
<label for="fichier_2">Fichier : </label><input id="fichier_2" name="fichier_2" type="file" size="40" /><br />
</p>
</fieldset>

<p>Cliquez sur le bouton suivant pour valider et attendez le chargement complet de la page suivante qui peut prendre de nombreuses minutes suivant votre vitesse de connexion à Internet et la taille du fichier envoyé.</p>
<p><input name="post_submit" id="post_submit" type="submit" value="Valider" /></p>
</form>
page de traitement des fichiers :
if(isset($_FILES['fichier'])){
unset($erreur);
$extensions_ok = array('avi', 'mpg', 'mpeg', 'divx', 'mp3', 'wma', 'png', 'gif', 'jpg', 'jpeg', 'zip', 'rar', '7z', 'tar', 'vmi', 'vms', 'ddc');
//faille sécu ici -> voir PHPfrance pour le "denied extensions" à la place
$taille_max = 83886080;

if( !in_array( substr(strrchr($_FILES['fichier']['name'], '.'), 1), $extensions_ok ) )
 {$erreur = 'Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !';}
elseif( file_exists($_FILES['fichier']['tmp_name']) and filesize($_FILES['fichier']['tmp_name']) > $taille_max)
 {$erreur = 'Votre fichier doit faire moins de 80Mo !';}

if(!isset($erreur))  {
$dest_dossier = $dossier_j."/".$dossier_s_new."/";
$dest_fichier = basename($_FILES['fichier']['name']);
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
move_uploaded_file($_FILES['fichier']['tmp_name'], $dest_dossier.$dest_fichier);
}
else {echo '<p class="titre">Attention !</p><br />'.$erreur;}
}

Posté : 06 nov. 2005, 18:16
par el_diablo
Personnellement, j'ai utiliser le tuto mais j'ai supprimer le 2em envoi.
Mais je pense qu'il faut copier une 2eme fois le bout de code ou alors il y a un autre moyen mais étant debutant j ne t'aiderais pas beaucoup. :?

Posté : 06 nov. 2005, 18:21
par Truc
tu peut soit (dans ton cas précis puisque tu as donné 2 noms différents au champ file) refaire appel a ton code en remplaçant tous les
$_FILES['fichier'] par $_FILES['fichier_2']

soit renomer les champs avec []:
<input id="fichier" name="fichier" type="file[]" size="40" />
tu récupère donc :
echo $_FILES['fichier']['name'][0];//nom du 1er fichier
echo $_FILES['fichier']['name'][1];//nom du 2eme fichier
et tu inclus ton code dans une boucle foreach() ou alors tu compte le nombre d'éléments du tableau count($_FILES['fichier']['name'])(dépend si tous les champs file sont remplis ou pas).

si ça te parle tout ça c'est une solution :wink:

Posté : 06 nov. 2005, 18:44
par Gakman
à quel champ je dois mettre [] ? plutôt à id ou name non ?
si je le mets à file le bouton parcourir disparaît.

Le count($_FILES['fichier']['name']) je le mets où ? (je pense que c'est ce qu'il faut utiliser puisque tous les champs d'envoi de fichiers ne seront pas forcément utilisés).

Comme je souhaiterais mettre plus de 2 champs d'envoi de fichiers il me faut trouver un système de boucle plutôt que de remettre 36 fois le code php.

Posté : 06 nov. 2005, 19:01
par Truc
je me suis planté dans l'attribution des [] #-o
<input id="fichier" name="fichier[]" type="file" size="40" />
ensuite le count() tu le place lors de la récupération, tu teste si le formulaire a été validé avec un isset comme tu l'a fait:
if(isset($_FILES['fichier']))
{
   $total=count($_FILES['fichier']['name']);

   for($i=0; $i <$total;$i++)
   {
      //ici code d'upload
      // tu travaile avec ce genre de variable
      $_FILES['fichier']['name'][$i]
   }
}

Posté : 06 nov. 2005, 19:51
par Gakman
je reçois systématiquement que mon fichier n'est pas dans le bon format (le message d'erreur : "veuillez sélectionner...") :(
<form action="index.php?lang=<?=$_GET['lang']?>&rub=post_rez&jeu=<?=$_GET['jeu']?>" method="post" enctype="multipart/form-data" id="post_script" name="post_script">

<input type="hidden" name="MAX_FILE_SIZE" value="83886080" />
<fieldset>
<p class="base_Rouge">S&eacute;lectionnez le(s) fichier(s) que vous voulez envoyer :<br />
<? for($i=1;$i<=20;$i++){echo'
Fichier '.$i.' : <input id="fichier[]" name="fichier[]" type="file" size="40" /><br />';} ?>
</p>
</fieldset>

<p>Cliquez sur le bouton suivant ("Valider") pour valider et attendez le chargement complet de la page suivante qui peut prendre de nombreuses minutes suivant votre vitesse de connexion à Internet et la taille du fichier envoyé.<br />
<input name="post_submit" id="post_submit" type="submit" value="Valider" /></p>
</form>
et le fichier de traitement :
if(isset($_FILES['fichier'])){
unset($erreur);
$extensions_ok = array('avi', 'mpg', 'mpeg', 'divx', 'mp3', 'wma', 'png', 'gif', 'jpg', 'jpeg', 'zip', 'rar', '7z', 'tar', 'vmi', 'vms', 'ddc');
//faille sécu ici -> voir PHPfrance pour le "denied extensions" à la place
$taille_max = 83886080;

$total=count($_FILES['fichier']['name']);

for($i=0; $i <$total;$i++) { 
if( !in_array( substr(strrchr($_FILES['fichier']['name'][$i], '.'), 1), $extensions_ok ) )
 {$erreur = 'Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !';}
elseif( file_exists($_FILES['fichier']['tmp_name'][$i]) and filesize($_FILES['fichier']['tmp_name'][$i]) > $taille_max)
 {$erreur = 'Votre fichier doit faire moins de 80Mo !';}
}

if(!isset($erreur))  {

// ici je traite d'autres champs du formulaire

for($i=0; $i <$total;$i++) { 
 $dest_dossier = $dossier_j."/".$dossier_s_new."/";
 $dest_fichier = basename($_FILES['fichier']['name'][$i]);
 $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
 $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
 move_uploaded_file($_FILES['fichier']['tmp_name'][$i], $dest_dossier.$dest_fichier);
}
Mais où est donc mon erreur ???
:cry:

Posté : 06 nov. 2005, 20:03
par Truc
si tu fait la manip avec des fichiers valides tu ne devrai pas avoir ce message d'erreur.

Pour tester affiche le nom du fichier avant le test d'extension
echo $_FILES['fichier']['name'][$i];
sinon décompose:
$var=substr(strrchr($_FILES['fichier']['name'][$i], '.'), 1);
echo $var

if( !in_array( $var, $extensions_ok ))

Posté : 06 nov. 2005, 20:20
par Gakman
Je n'arrive pas :( !
J'ai décomposé comme tu m'as dit. Le script avec 1 seul envoi de fichier fonctionnait parfaitement.
J'utilise des fichiers qui existent sur mon pc comme pourrait le faire tout lecteur du site.
Voilà les 2 pages.
<p align="center" class="gdtitre">Soumettre un fichier</p>
<hr />
<p>Vous pouvez ici m'envoyer vos sauvegardes.</p>
<p>&nbsp;</p>
<form action="index.php?lang=<?=$_GET['lang']?>&rub=post_rez&jeu=<?=$_GET['jeu']?>" method="post" enctype="multipart/form-data" id="post_script" name="post_script">
<p>Pseudo : <input name="auteur" id="auteur" /> (utilisez celui du forum SVP)</p>
<p>Adresse E-mail : <input id="mail" name="mail" /></p>
<p>Site perso : <input id="site" name="site" /></p>
<? if ($_GET['jeu']=="new") {echo '<p>Nom du jeu : <input id="nom" name="nom" /></p>';} ?>
<p>Support du jeu :  
<select id="support" name="support">
<option selected>Windows</option>
<option>DreamCast</option>
<option>MegaDrive / Genesis</option>
<option>MasterSystem</option>
<option>GameGear</option>
<option>XBox</option>
<option>PlayStation 2</option>
<option>PlayStation</option>
<option>PSP</option>
<option>GameCube</option>
<option>Nintendo64</option>
<option>SuperNintendo / SNES / SuperFamicom</option>
<option>Nintendo / NES / Famicom</option>
<option>DS</option>
<option>GameBoy Advance</option>
<option>GameBoy / GameBoy Color</option>
<option>NGage</option>
<option>arcade</option>
<option>Linux</option>
<option>MacOS</option>
<option>Amiga</option>
</select></p>
<p>Titre de la sauvegarde  : <input id="titre" name="titre" /></p>
<p>Note (en %) donnée à l'avancement de la sauvegarde :
<select id="note" name="note">
<option selected>Non notée</option>
<? for($i=1;$i<=100;$i++){echo'<option>'.$i.'</option>';} ?>
</select></p>
<p>Vos commentaires et d&eacute;tails sur cette sauvegarde :<br /><textarea id="commentaire" name="commentaire" rows="6" cols="75"></textarea></p>

<input type="hidden" name="MAX_FILE_SIZE" value="83886080" />
<fieldset>
<p class="base_Rouge">S&eacute;lectionnez le(s) fichier(s) que vous voulez envoyer :<br />
<? for($i=1;$i<=20;$i++){echo'
Fichier '.$i.' : <input id="fichier[]" name="fichier[]" type="file" size="40" /><br />';} ?>
</p>
</fieldset>

<p>Cliquez sur le bouton suivant ("Valider") pour valider et attendez le chargement complet de la page suivante qui peut prendre de nombreuses minutes suivant votre vitesse de connexion à Internet et la taille du fichier envoyé.<br />
<input name="post_submit" id="post_submit" type="submit" value="Valider" /></p>
</form>

<p>&nbsp;</p>
<p>&nbsp;</p>
<? include("m_retour.php"); include("m_stats.php");?>
<?
$jeu_=$_GET['jeu'];
$lang_=$_GET['lang'];

if(isset($_FILES['fichier'])){
unset($erreur);
$extensions_ok = array('avi', 'mpg', 'mpeg', 'divx', 'mp3', 'wma', 'png', 'gif', 'jpg', 'jpeg', 'zip', 'rar', '7z', 'tar', 'vmi', 'vms', 'ddc');
//faille sécu ici -> voir PHPfrance pour le "denied extensions" à la place
$taille_max = 83886080;

$total=count($_FILES['fichier']['name']);

for($i=0; $i <$total;$i++) {
$var_fich0=$_FILES['fichier']['name'][$i];
$var_fich=substr(strrchr($var_fich0, '.'), 1); 
$var_fich2=$_FILES['fichier']['tmp_name'][$i];
if( !in_array( $var_fich, $extensions_ok )) 
 {$erreur = 'Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !';}
elseif( file_exists($var_fich2) and filesize($var_fich2) > $taille_max)
 {$erreur = 'Votre fichier doit faire moins de 80Mo !';}
}

if(!isset($erreur))  {
echo '<p class="titre">Merci !</p>';

if ($_GET['jeu']=="new"){
 $liste6=array();
 $handle6=opendir(".");
  while($file6=readdir($handle6)){
   $pt6=strrpos($file6,".");
   $folder_name=$file6;
   $fich6=$file6."/nom.php";
   if (@file_exists($fich6)){
    array_push($liste6,$file6);}}
 closedir($handle6);
 $num_new2=count($liste6);
 $num_new2++;
 $dossier_j="j_".$num_new2;
 mkdir ($dossier_j,0700);
 copy("./images/index.htm",$dossier_j."/index.htm");

 $dossier_s_new="s_1";

 if (empty($_POST["nom"])){$nom_jeu="-> Jeu non spécifié";}
 else {$nom_jeu=$_POST["nom"];}
 
 $Fnm3=$dossier_j."/nom.php";
 $inF3=fopen($Fnm3,"w");
  fwrite($inF3,$nom_jeu);
 fclose($inF3);
}
else {
 $dossier_j="j_".$_GET['jeu'];
 
 $fich_nom="./".$dossier_j."/nom.php";
 if (@file_exists($fich_nom) && filesize($fich_nom)>0){
 $fd=fopen($fich_nom,"r");
 $nom_jeu=fread($fd,filesize($fich_nom));
 fclose($fd);}
 
 $liste5=array();
 $handle5=opendir($dossier_j);
  while($file5=readdir($handle5)){
   $pt5=strrpos($file5,".");
   $folder_name=$file5;
   $fich5=$dossier_j."/".$file5."/details.php";
   if (@file_exists($fich5)){
    array_push($liste5,$file5);}}
 closedir($handle5);
 $num_new=count($liste5);
 $num_new++;
 $dossier_s_new="s_".$num_new;
}

mkdir ($dossier_j."/".$dossier_s_new,0700);
copy("./images/index.htm",$dossier_j."/".$dossier_s_new."/index.htm");

$Fnm=$dossier_j."/".$dossier_s_new."/details.php";
$ouvre_w = '<'.'?';
$ferme_w = '?'.'>';
$auteur_w = '$auteur="'.$_POST["auteur"].'";';
$mail_w = '$mail="'.$_POST["mail"].'";';
$site_w = '$site="'.$_POST["site"].'";';
$titre_w = '$titre="'.$_POST["titre"].'";';
$note_w = '$note="'.$_POST["note"].'";';
$date_w = '$date="'.date("d/m/Y").'";';

$inF=fopen($Fnm,"w");
 fwrite($inF,$ouvre_w."\n".$auteur_w."\n".$mail_w."\n".$site_w."\n".$titre_w."\n".$date_w."\n".$note_w."\n".$ferme_w);
fclose($inF);

$commentaire_w=$_POST["commentaire"];
$Fnm2=$dossier_j."/".$dossier_s_new."/commentaire.php";
$inF2=fopen($Fnm2,"w");
 fwrite($inF2,$commentaire_w);
fclose($inF2);

for($i=0; $i <$total;$i++) {
 $var_fich0=$_FILES['fichier']['name'][$i];
 $var_fich2=$_FILES['fichier']['tmp_name'][$i];
 $dest_dossier = $dossier_j."/".$dossier_s_new."/";
 $dest_fichier = basename($var_fich0);
 $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
 $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
 move_uploaded_file($var_fich2, $dest_dossier.$dest_fichier);
}

$sujet="Ajout d'une sauvegarde sur S.O.S. Sauvegardes !";
$corps=
 $auteur_w." \n".
 $mail_w." \n".
 $site_w." \n".
 $date_w." \n
 jeu : ".$_GET['jeu']." \n
 nom du jeu : ".$nom_jeu." \n".
 $titre_w." \n".
 $note_w." \n \n
 commentaire : \n".$commentaire_w;
$entete="From:".$email2."\r\nReply-To:".$email2;
mail ($email1,$sujet,$corps,$entete);

if($jeu_=="new"){echo '<p>&nbsp;</p><p><a href="index.php?lang='.$_GET['lang'].'&rub=liste&jeu='.$num_new2.'">Accès à la page du jeu.</a></p><p>&nbsp;</p>';}
else{echo '<p>&nbsp;</p><p><a href="index.php?lang='.$_GET['lang'].'&rub=liste&jeu='.$_GET['jeu'].'">Retour à la page du jeu.</a></p><p>&nbsp;</p>';}

}

else {echo '<p class="titre">Attention !</p><br />'.$erreur.'<p><a href="index.php?lang='.$_GET['lang'].'&rub=post&jeu='.$jeu.'">Retour au formulaire.</a></p>';}

}



include("m_retour.php"); include("m_stats.php");
?>
J'obtiens toujours le même message, le premier : celui d'erreur d'extention ('Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !).

Posté : 06 nov. 2005, 21:57
par Gakman
Voilà juste les points importants du code pour plus de facilité :
page de post :
<form action="index.php?lang=<?=$_GET['lang']?>&rub=post_rez&jeu=<?=$_GET['jeu']?>" method="post" enctype="multipart/form-data" id="post_script" name="post_script"> 
<input type="hidden" name="MAX_FILE_SIZE" value="83886080" /> 
<fieldset> 
<p class="base_Rouge">S&eacute;lectionnez le(s) fichier(s) que vous voulez envoyer :<br /> 
<? for($i=1;$i<=20;$i++){echo' 
Fichier '.$i.' : <input id="fichier[]" name="fichier[]" type="file" size="40" /><br />';} ?> 
</p> 
</fieldset> 

<p>Cliquez sur le bouton suivant ("Valider") pour valider et attendez le chargement complet de la page suivante qui peut prendre de nombreuses minutes suivant votre vitesse de connexion à Internet et la taille du fichier envoyé.<br /> 
<input name="post_submit" id="post_submit" type="submit" value="Valider" /></p> 
</form>
Page de traitement :
<?
if(isset($_FILES['fichier'])){ 
unset($erreur); 
$extensions_ok = array('avi', 'mpg', 'mpeg', 'divx', 'mp3', 'wma', 'png', 'gif', 'jpg', 'jpeg', 'zip', 'rar', '7z', 'tar', 'vmi', 'vms', 'ddc'); 

$taille_max = 83886080; 

$total=count($_FILES['fichier']['name']); 

for($i=0; $i <$total;$i++) { 
$var_fich0=$_FILES['fichier']['name'][$i]; 
$var_fich=substr(strrchr($var_fich0, '.'), 1); 
$var_fich2=$_FILES['fichier']['tmp_name'][$i]; 
if( !in_array( $var_fich, $extensions_ok )) 
{$erreur = 'Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !';} 
elseif( file_exists($var_fich2) and filesize($var_fich2) > $taille_max) 
{$erreur = 'Votre fichier doit faire moins de 80Mo !';} 
} 

if(!isset($erreur))  { 


for($i=0; $i <$total;$i++) { 
$var_fich0=$_FILES['fichier']['name'][$i]; 
$var_fich2=$_FILES['fichier']['tmp_name'][$i]; 
$dest_dossier = $dossier_j."/".$dossier_s_new."/"; 
$dest_fichier = basename($var_fich0); 
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); 
move_uploaded_file($var_fich2, $dest_dossier.$dest_fichier); 
} 
} ?>
Et donc j'ai toujours la même erreur : le message que mon ou mes fichiers n'ont pas la bonne extention (1er type d'erreur de mon script).

Posté : 06 nov. 2005, 23:24
par Gakman
en virant le test sur l'extention (les 2 lignes qui suivent) ça marche... je ne sais aps où est l'erreur dans ces lignes
$extensions_ok = array('avi', 'mpg', 'mpeg', 'divx', 'mp3', 'wma', 'png', 'gif', 'jpg', 'jpeg', 'zip', 'rar', '7z', 'tar', 'vmi', 'vms', 'ddc');
for($i=0; $i <$total;$i++) {
$var_fich0=$_FILES['fichier']['name'][$i];
$var_fich=substr(strrchr($var_fich0, '.'), 1); 
if( !in_array( $var_fich, $extensions_ok )) 
 {$erreur = 'Veuillez sélectionner un fichier de type zip, rar, 7z, tar, png, gif, jp(e)g, mp3, wma, avi, mpg, mpeg, divx, vmi, vms ou ddc !';}
}

Posté : 07 nov. 2005, 00:32
par Gakman
Bon je continue à causer tout seul :
j'ai réussi à passer dans le mode "refuser certaines extentions" à la place d'accepter certaines, c'est moins contraignant.
ALors le script marche bien, sauf qu'en cas d'erreur de type d'extention j'ai une page d'erreur (page non trouvée) à la place du message d'allerte.

Voilà mon code :
if(isset($_FILES['fichier'])){
unset($erreur);
$DeniedExtensions = array('.php','.php3','.php5', '.phtml','.asp','.aspx','.ascx', '.jsp','.cfm','.cfc','.pl','.bat','.exe','.dll','.reg', '.cgi','.vbs','.htm','.html','.shtml','.js');

$taille_max = 83886080;

$total=count($_FILES['fichier']['name']);

for($i=0; $i <$total;$i++) {
$var_fich0=$_FILES['fichier']['name'][$i];
$var_fich2=$_FILES['fichier']['tmp_name'][$i];

for($a=0; $a<count($DeniedExtensions); $a++)
{
$findit = strpos($var_fich0, $DeniedExtensions[$a]);
if ($findit !== false)
{$erreur = 'Veuillez sélectionner un fichier de type différent de php, html, exe !';}
}

if( file_exists($var_fich2) and filesize($var_fich2) > $taille_max)
 {$erreur = 'Votre fichier doit faire moins de 80Mo !';}
}

if(!isset($erreur))  {
et après comme tout à l'heure.

Alors si quelqu'un voit mon erreur... aidez moi SVP !!!! :cry:

Posté : 07 nov. 2005, 00:41
par Truc
eh bien je ne vois pas d'erreur :?

assure toi ce que retourne chaque variable, par exemple $var_fich

Posté : 07 nov. 2005, 00:49
par Cyrano
S'il y a une erreur, elle est ailleurs. En revanche, ton code est illisible : aère donc, ça simplifie la relecture et les possibilités de trouver des bugs:
if(isset($_FILES['fichier']))
{
    unset($erreur);
    $DeniedExtensions = array('.php', '.php3', '.php5', '.phtml', '.asp', '.aspx', '.ascx', '.jsp', '.cfm', '.cfc', '.pl', '.bat', '.exe', '.dll', '.reg', '.cgi', '.vbs', '.htm', '.html', '.shtml', '.js');

    $taille_max = 83886080;

    $total = count($_FILES['fichier']['name']);

    for($i = 0; $i < $total; $i++)
    {
        $var_fich0 = $_FILES['fichier']['name'][$i];
        $var_fich2 = $_FILES['fichier']['tmp_name'][$i];

        for($a = 0; $a < count($DeniedExtensions); $a++)
        {
            $findit = strpos($var_fich0, $DeniedExtensions[$a]);
            if ($findit !== false)
            {
                $erreur = 'Veuillez sélectionner un fichier de type différent de php, html, exe !';
            }
        }

        if( file_exists($var_fich2) and filesize($var_fich2) > $taille_max)
        {
            $erreur = 'Votre fichier doit faire moins de 80Mo !';
        }
    }
}

if(!isset($erreur))
{
Tu trouves pas ça plus clair comme ça ?

Posté : 07 nov. 2005, 01:03
par Gakman
si si mais ça marche pas mieux :wink: