La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Mon Upload d'image marche pas sous IE
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Mon Upload d'image marche pas sous IE  (Lu 529 fois)
Mon Upload d'image marche pas sous IE
« sur: le 10-05-2006 a 13:57:38 »
Flop
Membre récent
*

Hors-Ligne

Messages: 1



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour à vous !

j'utilise PHP4, pour Mysql je ne sais pas du tout ... mais pour l'instant ca tourne en local avec easy PHP 1.8.0.1
Comme di dans le sujet, je crée un script d'upload pour des images, sous firefox il marche parfaitement, sous IE il ne l'upload pas (par contre il enregistre bien toute les données dans la base de données dans les dernieres lignes de codes)
Y a t il des piege à éviter ?



Voila mon code


$fichierTemp = $_FILES['monFichier']['tmp_name'];
$fichierNom = $_FILES['monFichier']['name'];
$fichierType = $_FILES['monFichier']['type'];
$fichierErreur = $_FILES['monFichier']['error'];
$nomDestination = "../ImagesPost/".$fichierNom;

if ($fichierType=='image/gif'||$fichierType=='image/jpeg'||$fichierType=='image/png'||$fichierType=='image/jpg'||$fichierType=='image/JPG'||$fichierType=='image/JPEG')
{
if (!$fichierErreur)
{
if (is_uploaded_file($fichierTemp)AND!file_exists("../ImagesPost/".$fichierNom))
{
if(!move_uploaded_file($fichierTemp,$nomDestination))
{
echo ('impossible d\'enregister<br>');
}
else
{
$taille=getimagesize($nomDestination);
$source_image = imagecreatefromjpeg($nomDestination);
$pos_x=0;
$pos_y=0;
if ($taille

  • >=$taille[1])
    {
    $x = 205;
    $y = (int)(($x*$taille[1])/$taille
  • );
    $pos_y = (int)((205-$y)/2);
    }
    else
    {
    $y = 205;
    $x = (int)(($y*$taille
  • )/$taille[1]);
    $pos_x = (int)((205-$x)/2);
    }
    $dest_image = imagecreatetruecolor(205,205);
    $noir=imagecolorallocate($dest_image, 0, 0, 0);
    imagecopyresampled($dest_image,$source_image, $pos_x,$pos_y,0,0,$x,$y,$taille
  • ,$taille[1]);
    imagejpeg($dest_image,$nomDestination);
    imagedestroy( $source_image);
    imagedestroy( $dest_image);



    }
    }
    else
    { }
    }
    else
    {
    echo ('désolé il y a eu une erreur <br>');
    }

    }

    // On enregistre dans la BDD
    mysql_query("INSERT INTO cri VALUES('', '" . $pseudo . "', '".$titre."', '" . $message . "','".$nomDestination."')");
    }

  • Rapporter au modérateur  

    Re:Mon Upload d'image marche pas sous IE
    « Répondre #1 sur: le 31-05-2006 a 01:24:03 »
    Boozerdog
    Membre récent
    *

    Hors-Ligne

    Messages: 5



    Je suis un lama!

    Voir le Profil    WWW
    Répondre avec citation

    Bonjour,

    J'ai aussi pas mal galéré avant de résoudre ce soucis au début. Il se trouve qu'IE n'utilise pas le meme type MIME pour les JPG que les autres navigateurs. Pour cela rajoute un "||" dans ton premier if avec :

    $fichierType=='image/pjpeg'

    En esperant que cela fonctionnera mieux et bon courage

    Rapporter au modérateur  

    Communauté d'entraide pour webmaster www.student-designer.com. Venez apprendre à créer votre site internet.
    Re:Mon Upload d'image marche pas sous IE
    « Répondre #2 sur: le 02-06-2006 a 15:51:39 »
    arnaudb
    Membre récent
    *

    Hors-Ligne

    Messages: 59



    Je suis un lama!

    Voir le Profil
    Répondre avec citation

    Utilise ce script et met ton formulaire en "multipart/form-data"

    Code:
    $taille = 8;
    $lettres = "abcdefghijklmnopqrstuvwxyz0123456789AZERTYUIOPMLKJHGFDSQWXCVBN";
    for ($i=0;$i<$taille;$i++)
    {
    $idfichier=substr($lettres,(rand()%(strlen($lettres))),$taille);
    }
    if(isset($_FILES['photo']))
    {
    unset($erreur);
    $extensions_ok = array('png', 'jpg', 'jpeg', 'JPG', 'JPEG', 'bmp');
    $taille_max = 350000;
    $dest_dossier = 'photo_annonce/';
    if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ))
    {
        echo "";
    }
    elseif( file_exists($_FILES['photo']['tmp_name']) && $_FILES['photo']['size']>$taille_max)
    {
        echo "Votre fichier doit faire moins de 350Ko !";
    }
    elseif(file_exists($_FILES['photo']['tmp_name']) && (!isset($erreur) || empty($erreur)) )
    {
    $dest_fichier = basename($_FILES['photo']['name']);
    $dest_fichier = strtr($dest_fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
          $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
          $dest_fichier = $nomfichier."_".$idfichier."_1_".$dest_fichier;
          move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);  }
    }

    « Dernière Édition: le 02-06-2006 a 15:53:01 par arnaudb » Rapporter au modérateur  
    Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
    Pages: [1] Monter
    « Précédent Suivant »
    Sauter à: 

    Votre statut : Invité
    Vous devez être membre pour participer.
     
     
    Let’s Encrypt : le certificat SSL gratuit
    Tester votre site internet sur différents navigateurs
    [WordPress] Des problèmes avec l’administration ?
    Rappel : Mettez à jour vos CMS et vos sites E-commerce
    Le .fr fête ses 25 années d’existence !
    Mesurer votre audience en temps réel avec BubbleStat
    Porter réclamation contre Google Panda ?
    Zlio n’est plus …
     
     
     
     
     

    Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

    creation site internet strasbourg