IE et php incompatibilité

Fermé
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 - 15 mars 2008 à 12:59
nickleus Messages postés 374 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 - 16 mars 2008 à 10:10
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 69 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 15 septembre 2009 20
15 mars 2008 à 23:21
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 dimanche 20 janvier 2008 Statut Membre Dernière intervention 18 juin 2011 5
16 mars 2008 à 10:10
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