IE et php incompatibilité

nickleus Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   -  
nickleus Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voila j'ai créer un petit prog en php pour pouvoir charger des images dans un ficher sur mon serveur.

je détecte les différent formats d'images que j'autorise. et dans le cas ou le format ne correspond pas j'affiche : "

Le format n'est pas valide."

sous Firefox ça marche nickel mais sur internet explorer ca me met sur tous les fichiers que le format n'est pas valide.

je met a disposition le script :

if ((isset($_POST["MM_upload"])) && ($_POST["MM_upload"] == "upload")) {

//Test si le chargement est effectué.
if(is_uploaded_file($_FILES['search_ban']['tmp_name'])){

//Test si l'annonceurs à un dossier.
if(!is_dir($dirLocalisation.$user_id))
{mkdir($dirLocalisation.$user_id);}
$fileType = $_FILES['search_ban']['type'];

//detection du format du fichier
switch($fileType){
case "image/jpeg":
$resultat="JPEG";
break;

case "image/jpg":
$resultat="JPG";
break;

case "image/gif":
$resultat="gif";
break;

case "image/png":
$resultat="png";
break;

case "application/x-shockwave-flash":
$resultat="swf";
break;

default:
$resultat = false;}

if($resultat!=false){

//Definission des variables.
$categorie = "E"; //categorie E = Echange et P = payant.
$TypeCampagne = $_POST['radio'];
$rename_ban = $_POST['rename_ban'];
$site = $_POST['site'];
$fileNameTmp = $_FILES['search_ban']['tmp_name'];
$fileName = basename($_FILES['search_ban']['name']);
$size_ban = $_FILES['search_ban']['size'];
$error = $_FILES['search_ban']['error'];

if($TypeCampagne == "clics")
{$TypeCamp = "C";}
else
{$TypeCamp = "A";}

//Renommer le nom du fichier sans les caractères interdits.
$name_ban = renameFiles($fileName);

//Adresse ou va le dossier.
$uploaddir = $dirLocalisation.$user_id;
$loc = $uploaddir."/".$name_ban;

//Taille de l'image.
$fileImageSize = getimagesize($fileNameTmp);
$height = $fileImageSize[0];
$width = $fileImageSize[1];
$height_ban = $height;
$width_ban = $width;

//Cle de $id_ban.
$id_ban = uniqid();

//Si le fichier est bien déplacé.
if(move_uploaded_file($fileNameTmp, $loc)){

$insertSQL = "INSERT INTO name_banniere (height_ban, width_ban, size_ban, name_ban, id_ban, nom_ban, typecamp, categorie, id_site) VALUES ('$height_ban', '$width_ban', '$size_ban', '$name_ban', '$id_ban', '$rename_ban', '$TypeCamp', '$categorie', '$site')";
mysql_select_db($database_annonceurs, $annonceurs);
$Result = mysql_query($insertSQL, $annonceurs) or die(mysql_error());

if($categorie == 'E')
{$table = "credits_echange";}
else
{$table = "credits_payants";}

if($TypeCamp == "A")
{$colone = "affiche_ban"; $credit = 1000;}
else
{$colone = "clics_ban"; $credit = 100;}

$insertSQL = "INSERT INTO $table (id_ban, $colone) VALUES ('$id_ban', '$credit')";
mysql_select_db($database_annonceurs, $annonceurs);
$Result = mysql_query($insertSQL, $annonceurs) or die(mysql_error());

if($Result != 0)
{header("Location: campagnes.php5");}}}

else{echo "Le format n'est pas valide.";}}}
A voir également:

2 réponses

eee.eee Messages postés 70 Statut Membre 20
 
Le PHP s'exécutant côté serveur, il ne devrait y avoir aucune différence entre Firefox et IE. Donc l'erreur doit provenir dès le début, avec tes variables $_POST["xxxxx"] et $_FILES['search_ban']['tmp_name'], lors de la page précédente.

Tu peux montrer le <form> de la page d'avant?
0
nickleus Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   5
 
Alors j'ai fini par trouver une solution a mon problème.

dans la fonction switch je met :

case "image/png":
$resultat="png";
break;

ce qui marche parfaitement avec firefox mais pas avec IE par contre en mettant ces lignes parlementaires :

case "image/x-png":
$resultat="png";
break;

ça marche mais est ce que quelqu'un pourrait me dire pour quoi il faut que je mette le : x-
et est ce qu'il faut que le fasse la même opération pour tous les autre détection de format ????

0