Upload d'image probléme sous ie

Utilisateur anonyme -  
niahoo Messages postés 262 Statut Membre -
Bonjour,
Alors comme le titre l'indique j'ai un probléme d'upload d'image sous ie

sur firefox aucun probléme par contre avec ie il m'affiche le message d'erreur

"Le fichier doit être au format .jpeg, .jpg, .gif, .png et de taille max : 2 Mo"

Pourquoi ? sa je sais pas ^^

Alors voila le "patté" de code ^^

<?php
if( $type == "sons" )
{
	$poids_max = 1000000; // Poids max de l'image en octets
      $repertoire = 'up/'; // Repertoire d'upload
      if (isset($_FILES['fichier']))
      {
      if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
      {
      $erreur = '<h3>Le fichier doit être au format  .jpeg, .jpg, .gif, .png et de taille max : 2 Mo</h3>';
      }
     
      elseif ($_FILES['fichier']['size'] > $poids_max)
      {
      $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
      }
      if(isset($erreur))
      {
      echo '' . $erreur . '';
      }
      else
      {
      if ($_FILES['fichier']['type'] == 'image/jpg') { $extention = '.jpg'; }
      if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg';}
      if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
      if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
function suprime_accent_2($nom_fichier){
return strtr($nom_fichier,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ-/\("=+-*\'\:;,. ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY________________');
}
$artistes2 = suprime_accent_2($artistes);
$artistes2 = strtolower($artistes2); 
$artistes3 = "_"; 
$titres2 = suprime_accent_2($titres);
$titres2 = strtolower($titres2); 
$titres3 = "_"; 
      $nom_fichier = $artistes2.$artistes3.$titres2.$titres3.time().$extention;
      if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
      {
      $images = ''.$repertoire.''.$nom_fichier.'';
      }
if ( $titres != "" ) 
{
if ( $artistes != "" ) 
{
if ( $emails != "" )
{
$toprod = time();
$toprod2 = '_';
$destination = 'mp3/';
$MAX_SIZE = 10000000;
function suprime_accent($nomFichier){
	return strtr($nomFichier,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ-/\("=+-*\'\ ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY__________');
}
if(!empty($_FILES["mp3"]["name"])){
	$nomFichier = suprime_accent(strtolower($_FILES["mp3"]["name"]));
	$nomTemporaire = $_FILES["mp3"]["tmp_name"] ;
	$typeFichier = $_FILES["mp3"]["type"] ;
	$poidsFichier = $_FILES["mp3"]["size"] ;
	$poidsFichierK = $poidsFichier/1024;
    $poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
	$codeErreur = $_FILES["mp3"]["error"] ;
	$extension = strrchr($nomFichier, ".");
	$mime_types = array('audio/mpeg','audio/x-ms-wma'); 
	if($poidsFichier <> 0){
		if($poidsFichier < $MAX_SIZE){
if (in_array($typeFichier, $mime_types)){
			{
				$uploadOk = move_uploaded_file($nomTemporaire, $destination.$toprod.$toprod2.strtolower($nomFichier));
				if($uploadOk)
				{
					                    echo "<h2><strong>Envoi du sons réussi !</strong></h2><br/>";
					                    echo "Artiste(s) : $artistes<br/>";
                                        echo "Titre du son : $titres<br/>";
					                    echo "<br/><br/>";
										switch ($extension) { //Tu fais écrire du html par le php
										case ".mp3": echo '<object type="application/x-shockwave-flash" data="player.swf?mp3='.$destination.$toprod.$toprod2.$nomFichier.'&amp;showtime=1" width="200" height="20"><param name="wmode" value="transparent" /><param name="movie" value="player.swf?mp3='.$destination.$toprod.$toprod2.$nomFichier.'&amp;showtime=1" /></object>';break;
										case ".wav": echo '<object type="application/x-shockwave-flash" data="player.swf?mp3='.$destination.$toprod.$toprod2.$nomFichier.'&amp;showtime=1" width="200" height="20"><param name="wmode" value="transparent" /><param name="movie" value="player.swf?mp3='.$destination.$toprod.$toprod2.$nomFichier.'&amp;showtime=1" /></object>';break;
									    default: echo "<img src='error/inconnu.gif'>"; }
										echo "<br/><br/>";
}
else{
	echo('<span style="color:#900; font-size:16px;"><strong>L\'envoi du Mp3 a échoué !</strong></span>');
	}
			}
			}else{
				echo ('<span style="color:#900; font-size:16px;"><strong>Merci de choisir un sons au format Mp3 !</strong></span>');
			}
		}else{
			echo('<span style="color:#900; font-size:16px;"><strong>Vous ne pouvez pas uploader de Mp3 dont la taille est supérieure à 10 Mo</strong></span>');
		}		
	}
}
function anti_hack($sql){
	return strtr($sql,'àãäçèéêëìíîïòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
'aaaceeeeiiiiooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}
$titres = mysql_real_escape_string(stripslashes($titres));
$artistes = mysql_real_escape_string(stripslashes($artistes));
$images = mysql_real_escape_string(stripslashes($images));
$extrait_de = mysql_real_escape_string(stripslashes($extrait_de));
$emails = mysql_real_escape_string(stripslashes($emails));
$blogs = mysql_real_escape_string(stripslashes($blogs));
$ip = mysql_real_escape_string(stripslashes($ip));
$type = mysql_real_escape_string(stripslashes(anti_hack($type)));
$sql= "INSERT INTO attentes (artistes,titres,images,videos,mp3,extrait_de,emails,playlist,blogs,ip,type) VALUES ('$artistes','$titres','$images','','$destination$toprod$toprod2$nomFichier','$extrait_de','$emails','','$blogs','$ip','$type')";
mysql_query ($sql) or die(mysql_error());
echo '<h1>Votre son Mp3 a été envoyé à l\'administrateur du site et sera validé bientôt</h1><br/><br/><br/>';
}
else 
{
	echo '<span style="color:#900; font-size:16px;"><strong>Erreur Champ Email vide </strong></span>' ;
}
}
else 
{
	echo '<span style="color:#900; font-size:16px;"><strong>Erreur Champ Artiste vide </strong></span>' ;
}
}
else 
{
	echo '<span style="color:#900; font-size:16px;"><strong>Erreur Champ Image vide </strong></span>' ;
}
	  }
	  }
}
else 
{
	echo '<span style="color:#900; font-size:16px;"><strong>Erreur Champ Titre vide </strong></span>' ;
}
?> 


( désolé si c'est codé comme un cochon xD )

Et merci d'avance :)
A voir également:

5 réponses

avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
PHP est côté serveur, donc le navigateur du visiteur n'influence en rien l'exécution du script (même si le serveur est ton ordi).

Pour commencer, affiche l'extension lorsque tu affiches le message d'erreur.
0
Utilisateur anonyme
 
Désolé de remonté le sujet mais il y a pas longtemps j'ai vue que le type mime se transmé par le navigateur internet donc il y avais bien un probléme lisible sur le code
0
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Oui et ?
Si le mime est image/png, image/gif ou image/jp(e)g tu fais continuer les vérifications sinon tu affiches un message d'erreur.
Je ne vois pas ce que ça influence de plus.
0
Utilisateur anonyme
 
A oui pas faux ^^

Ba je trouverai jamais pourquoi sa ma fait sa :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
niahoo Messages postés 262 Statut Membre 19
 
salut,

je viens de régler ce bug et je cherchais sur le net pour voir si ça le faisait avec IE7 (à mon boulot je garde IE6 pour pouvoir vérifier la compatibilité de mes sites avec ce navigateur, et j'ai la flemme de demander aux collègues qui ont IE7 ^^)

IE6 envoie "image/pjpeg" au lieu de "image/jpeg", chez moi c'est ça qui faisait planter mon panneau d'admin avec IE6.
0