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 :

[Upload] Probléme d'upload sous IE


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [Upload] Probléme d'upload sous IE
    Bonjour,
    Voilà j'explique mon probléme, Je crée un site d'upload, mon script d'upload fonctionne bien sous FF, mais sous IE j'ai un prob pour l'extension des images dans l'url! genre sur FF ça mets "www.nomdusite.com/upload/1552.jpg" mais sous IE "www.nomdusite.com/upload/1552" . Mais l'extension est inexistant. Je ne vois pas le probléme! est-ce que qqun a deja eu ce probléme?

    Merci,
    UndrOath.

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    En mettant le code ce sera plus facile de te venir en aide

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut et bienvenue dans les forums de Developpez.com !

    Kerod a raison : Sans code, ça va être difficile de trouver l'erreur...
    Tu peux éventuellement t'inspirer de cette exemple de script (FAQ) :
    http://php.developpez.com/faq/?page=...ichiers_upload

    à+
    De retour parmis vous après 10 ans!!

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    Voilà le code! J'espére que vous allez trouver l'erreur !
    <?php
    // ------------------------------------------------------------
    // DEFINITION DES VARIABLES
    // ------------------------------------------------------------

    $target = "upload/"; // Repertoire cible
    $target2 = "mini/"; // Repertoire cible
    $max_size = 4194304; // Taille max en octets du image
    $width_max = 2000; // Largeur max de l'image en pixels
    $height_max = 2000; // Hauteur max de l'image en pixels

    $extensions_ok = array("jpeg","jpg","gif","png","bmp");


    //------------------------------------------------------------
    // SCRIPT DE CHANGEMENT D`URL
    //------------------------------------------------------------

    if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
    if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
    if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
    if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
    if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
    $mini_name = time().$extention;
    $nom_image = $target.time().$extention;
    $mini = "mini";
    $nom_imagemini = time().$mini.$extention;
    $nom_imagemini2 = time().$mini.$extention;


    //------------------------------------------------------------
    // DEFINITION DES VARIABLES LIEES AU IMAGES
    //------------------------------------------------------------

    $nom_file = $_FILES['image']['name'];
    $taille = $_FILES['image']['size'];
    $tmp = $_FILES['image']['tmp_name'];
    $chemin = $target.$_FILES['image']['tmp_name'];
    $url = 'http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '';
    $url2 = '[url=http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]';
    $url3 = $target2 .$nom_imagemini2;
    $url4 = 'http://www.butterfly-party.com/fakupload/' .$nom_image. '';
    $url5 = '[url=http://www.butterfly-party.com/fakupload/][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]';
    $url6 = $target2 .$nom_imagemini2;

    $extension = substr($nom_file,-3); // Récupération de l'extension


    //------------------------------------------------------------
    // SCRIPT DE CREATION DE MINIATURE
    //------------------------------------------------------------


    if ($_FILES['image']['type'] == 'image/jpeg')
    {
    $source = imagecreatefromjpeg($tmp); // La photo est la source
    $destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);


    // On crée la miniature
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);


    // On enregistre la miniature
    imagejpeg($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
    imagedestroy($destination);
    }

    if ($_FILES['image']['type'] == 'image/png')
    {
    $source = imagecreatefrompng($tmp); // La photo est la source
    $destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);

    // On crée la miniature
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

    // On enregistre la miniature
    imagepng($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
    imagedestroy($destination);
    }

    if ($_FILES['image']['type'] == 'image/gif')
    {
    $source = imagecreatefromgif($tmp); // La photo est la source
    $destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);

    // On crée la miniature
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

    // On enregistre la miniature
    imagegif($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
    imagedestroy($destination);
    }

    if ($_FILES['image']['type'] == 'image/bmp')
    {
    $source = imagecreatefromwbmp($tmp); // La photo est la source
    $destination = imagecreatetruecolor(100, 100); // On crée la miniature vide

    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);

    // On crée la miniature
    imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);

    // On enregistre la miniature
    imagewbmp($destination, "/home/axel/public_html/fakupload/mini/" .$nom_imagemini);
    imagedestroy($destination);
    }


    //------------------------------------------------------------
    // SCRIPT D'UPLOAD
    //------------------------------------------------------------

    if($_POST['envoie'])
    {

    // On vérifie si le champ est rempli

    if($_FILES['image']['tmp_name'])
    {

    // On vérifie l'extension du image

    if(in_array(strtolower($extension),$extensions_ok))
    {
    // On récupère les dimensions du image

    $infos_img = getimagesize($_FILES['image']['tmp_name']);

    // On vérifie les dimensions et taille de l'image

    if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
    {
    // Si c'est OK, on teste l'upload


    if(move_uploaded_file($tmp,$nom_image))
    {

    // Si upload OK alors on affiche le message de réussite

    echo '<h2>Validation de l\'upload</h2>
    <p><a href="' . $url4 . '"><img src="' . $url6 . '" width="100" height="100" border="none" /></a><BR><BR>
    Url de l\'image simple:<BR>
    <input type="text" size="100" value=" ' . $url4 . '" />
    <br /><br />Url pour les forums:<BR><input type="text" size="100" value="' . $url5 . '" /><br /></p>';


    }
    else
    {

    // Sinon on affiche une erreur système
    echo '<h2>Erreur du System !</h2>
    <p><font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur du systéme veuillez contactez le <a href="index.php?page=contact">webmaster</a></font>
    </p>';

    }
    }
    else
    {

    // Sinon erreur sur les dimensions et taille de l'image
    echo '<h2>Erreur de la dimension de l\'image</h2>
    <p>
    <font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de la dimension</font>
    </p>';
    }
    }
    else
    {

    // Sinon on affiche une erreur pour l'extension
    echo '<h2>Erreur de l\'extension</h2>
    <p><font color="red">
    <img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de l\'extension</font>
    </p>';

    }
    }
    else
    {

    // Sinon on affiche une erreur pour le champ vide
    echo '<h2>Erreur le champ est vide</h2>
    <p><font color="red"><img src="./utils/attention.gif" alt="attention" height="20" width="20"> Erreur de le champ est vide</font>
    </p>';
    }
    }

    ?>

  5. #5
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Il ya des balises BBCode dans ton code qui sont interprétées par le forum. J'ai remis en forme ton code en ajoutant la couleur "black" au balises [url] et [img]. Bref, là n'est pas le problème.


    Tu récupères les 3 dernières lettres de l'extension...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $extension = substr($nom_file,-3); // Récupération de l'extension
    Et le 1er élément de ton tableau en possède 4...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $extensions_ok = array("jpeg","jpg","gif","png","bmp");
    Solution : Enlève le 1er élément de ce tableau ou modifie-le par "peg".
    Ça devrait régler le problème je pense.
    De retour parmis vous après 10 ans!!

  6. #6
    Membre habitué Avatar de Cyberbob002
    Inscrit en
    Mai 2003
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 140
    Points : 146
    Points
    146
    Par défaut
    Ou sinon,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    $pos = strrpos($nom_file, '.');
    $extension = substr($nom_file, 0, $pos);
    

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé les 2 mais rien ne fonctionne ...

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    J'ai tout essayé mais rien ne fonctionne je désespére

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Je dirais que le problème vient de cette zone et non autre chose :
    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
     //------------------------------------------------------------
    //  SCRIPT DE CHANGEMENT D`URL
    //------------------------------------------------------------
    
    if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
    if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
    if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
    if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
    if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
    $mini_name      = time().$extention;
    $nom_image      = $target.time().$extention;
    $mini           = "mini";
    $nom_imagemini  = time().$mini.$extention;
    $nom_imagemini2 = time().$mini.$extention;
    
    
    //------------------------------------------------------------
    //  DEFINITION DES VARIABLES LIEES AU IMAGES
    //------------------------------------------------------------
    
    $nom_file   = $_FILES['image']['name'];
    $taille     = $_FILES['image']['size'];
    $tmp        = $_FILES['image']['tmp_name'];
    $chemin     = $target.$_FILES['image']['tmp_name'];
    $url        = 'http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '';
    $url2       = '[url=http://www.butterfly-party.com/fakupload/upload/' .$nom_image. '][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]'; 
    $url3       = $target2 .$nom_imagemini2;
    $url4        = 'http://www.butterfly-party.com/fakupload/' .$nom_image. '';
    $url5       = '[url=http://www.butterfly-party.com/fakupload/][img]http://www.butterfly-party.com/fakupload/mini/' .$nom_imagemini2. '[/img][/url]'; 
    $url6       = $target2 .$nom_imagemini2;
    
    $extension  = substr($nom_file,-3); // Récupération de l'extension
    ALors en détails je comprends pas cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     if ($_FILES['image']['type'] == 'image/jpeg') { $extention = '.jpeg'; } { $extention2 = 'jpeg'; }
     if ($_FILES['image']['type'] == 'image/jpg') { $extention = '.jpg'; } { $extention2 = 'jpg'; }
     if ($_FILES['image']['type'] == 'image/png') { $extention = '.png'; } { $extention2 = 'png'; }
     if ($_FILES['image']['type'] == 'image/gif') { $extention = '.gif'; } { $extention2 = 'gif'; }
     if ($_FILES['image']['type'] == 'image/bmp') { $extention = '.bmp'; } { $extention2 = 'bmp'; }
    surtout la partie en rouge.

    Ensuite tu as omis de préciser qu'est-ce qui faisait obtenir cette url. Comment y arrives-tu ? A quelle partie du code elle correspond? C'est vague ta demande. pour récupérer l'extension, tous les codes donnés plus haut fonctionne très bien. donc ca vient de plus haut le problème.

Discussions similaires

  1. [Upload] Problème d'upload par ftp
    Par wishmastah dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2006, 15h57
  2. [Upload] Problème pour uploader un fichier dans mon code
    Par Peuplarchiste dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 09h48
  3. [Upload] Problème d'upload
    Par eric41 dans le forum Langage
    Réponses: 5
    Dernier message: 28/04/2006, 19h13
  4. [Upload] Problème d'upload de fichiers
    Par FredMines dans le forum Langage
    Réponses: 9
    Dernier message: 26/04/2006, 17h13
  5. [Upload] Problème d'upload :)
    Par manu_du_31 dans le forum Langage
    Réponses: 3
    Dernier message: 14/11/2004, 15h56

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