IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formulaire avec Upload d'image marche sur Firefox mais pas sur IE


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Formulaire avec Upload d'image marche sur Firefox mais pas sur IE
    Bonjour

    J'ai trouvé un script qui permet d'uploader des images, j'ai testé sous firefox, ça marche très bien. Mais Sous Internet Explorer cela ne fonctionne pas, il me dit que le fichier est non valide: "Le fichier doit être au format .jpeg, .gif ou .png ", etc.

    Voilà le code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <?php
    $poids_max = 512000; // poid max
    $repertoire = 'uploads/'; // Repertoire d'upload
    if (isset($_FILES['fichier']))
    {
     
    // On vérifie le type du fichier
    if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico')
    {
    $erreur = 'Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .';
    }
     
    // On vérifie le poids de l'image
    elseif ($_FILES['fichier']['size'] > $poids_max)
    {
    $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
    }
     
    // On vérifie si le répertoire d'upload existe
    elseif (!file_exists($repertoire))
    {
    $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
    }
     
    // Si il y a une erreur on l'affiche sinon on peut uploader
    if(isset($erreur))
    {
    echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
    }
    else
    {
     
    // On définit l'extention du fichier puis on le nomme par le timestamp actuel
    if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
    if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
    if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.bmp'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.jpg'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.png'; }
    if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }
    $nom_fichier = time().$extention;
     
    // On upload le fichier sur le serveur.
    if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
    {
    $url = 'http://tothedeath.ath.cx/'.$repertoire.''.$nom_fichier.'';
    echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
    }
    else
    {
    echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
    }
     
    }
     
    }
    else
    {
    ?>
    <form method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
    <input type="file" name="fichier">
    <input type="submit" value="Envoyer">
    </form>
    <?php
    }
    ?>
    J'espère que quelqu'un pourra m'aider, car là je coince

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    il ne faut pas faire confiance à l'information 'type' parce qu'elle est envoyée par le navigateur
    pour tester le type d'image tu peux par exemple utiliser la fonction http://php.net/getimagesize

Discussions similaires

  1. Probleme CSS: Bon affichage menu sur Firefox mais pas sur IE7
    Par jisko42 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/02/2010, 15h08
  2. Un lien marche sur IE mais pas sur Firefox
    Par Arsofts dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/07/2009, 15h33
  3. Calcul marche sur IE mais pas sur Firefox
    Par Akim13 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/05/2008, 18h22
  4. Eval qui fonctionne sur Firefox mais pas sur IE :D
    Par Comawhite dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/10/2006, 11h31
  5. Composant Javascript marche sous firefox mais pas sur ie pk ?
    Par tazamorte dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 16/10/2006, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo