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

AJAX Discussion :

[AJAX] upload une image et l'afficher


Sujet :

AJAX

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Par défaut [AJAX] upload une image et l'afficher
    Salut tout le Monde
    je suis entrain de developper un PFE (Gestion d'une Bibliotheque Central)
    et je dois uploadé des images pour les emprunteurs
    ce que je veut faire c'est que quand on click sur le input de type="file"
    et aprés choisi le fichier a upload ca declenche un evenement qui envoie le fichier au serveur et aprés fini l'upload il reaffiche l'image dans la meme page
    es que vous pouvez m'indique le chemain a prendre
    Merci D'avance les amis

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Bon allez j'ais pas le temps alors je te donnes un model type ...

    N' oublies pas que ces PHP ont des noms et que si tu les changent
    il faut les changer DANS les php également ...

    Tu trouvera dans le deuxiéme le répertoire relatif de destination
    0workdesti a toi de mettre ce que tu veux

    Donc
    upload_base_saisie.php
    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
     
    <?PHP             
    if (isset($_GET["message"])) $message=trim($_GET["message"]);
        else $message="";
    if (isset($_GET["Limg"])) $Limg=trim($_GET["Limg"]);
        else $Limg="";
    ?>
    <html><body>
    <br /><br /><br />
    <p align=center>
    <?PHP
    echo ("".$message."<br />");
    if ($Limg!="") echo ("<img src='".$Limg."' alt='' ><br />");
    ?>
     
    <br /><br /><br />
    <form name="formulaire" method="POST"
     action="upload_base_upload.php"  enctype="multipart/form-data" >
     <input type="hidden" name="MAX_FILE_SIZE" value="40000" />
     <input id="fichier1"  name="fichier1" type="file"  /><br />
     <input value="Valider" name="submit" type="submit" />
    </form>
    </p>
    </body>
    </html>
    upload_base_upload.php
    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
     
    <?php
    if (isset($_FILES['fichier1'])) $LeFic=trim($_FILES['fichier1']['name']);
        else $LeFic="";
    $message="";
    if(  $LeFic!="" )
     {
     $poid_max="40000"; 
     $destin="0workdesti/"; 
     $taille = getimagesize($_FILES['fichier1']['tmp_name']);
     $poid = filesize($_FILES['fichier1']['tmp_name']); 
     $message="";
     
     if(substr($LeFic,-3) !="jpg")
       {$message="L image doit etre au format jpeg jpg";}
     if ($poid>$poid_max)
      {$message=" l image est trop lourde ... 40 Ko maxi";}
     if ($poid<=$poid_max && $message=="")
      {
       // === on supprime les accents et les espaces du nom de l'image 
       $LeFic = strtr($LeFic,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
        "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");  
       // === on supprime les espaces
       $LeFic=str_replace(" ","_",$LeFic);
       // === on met en minuscule
       $LeFic=strtolower($LeFic); 
       $newnom=$destin.$LeFic;
       if (file_exists($destin.$LeFic))
         {
            $message="L image est déjas sur le site web";
         }
         else
          {
          copy($_FILES['fichier1']['tmp_name'],$destin.$LeFic);
          $imagefile=$destin.$LeFic;
          $src_img = imagecreatefromjpeg($imagefile);
          $message="L image ".$newnom." est copiée";
         }
      }
     }
     
    $Limg=$imagefile;
    print "<script type='text/javascript'>window.location='upload_base_saisie.php?Limg=".$Limg."&message=".$message."'</script>";
    exit;
    ?>

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Bon allez j'ais pas le temps alors je te donnes un model type ...

    N' oublies pas que ces PHP ont des noms et que si tu les changent
    il faut les changer DANS les php également ...

    Tu trouvera dans le deuxiéme le répertoire relatif de destination
    0workdesti a toi de mettre ce que tu veux

    Donc
    upload_base_saisie.php
    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
     
    <?PHP             
    if (isset($_GET["message"])) $message=trim($_GET["message"]);
        else $message="";
    if (isset($_GET["Limg"])) $Limg=trim($_GET["Limg"]);
        else $Limg="";
    ?>
    <html><body>
    <br /><br /><br />
    <p align=center>
    <?PHP
    echo ("".$message."<br />");
    if ($Limg!="") echo ("<img src='".$Limg."' alt='' ><br />");
    ?>
     
    <br /><br /><br />
    <form name="formulaire" method="POST"
     action="upload_base_upload.php"  enctype="multipart/form-data" >
     <input type="hidden" name="MAX_FILE_SIZE" value="40000" />
     <input id="fichier1"  name="fichier1" type="file"  /><br />
     <input value="Valider" name="submit" type="submit" />
    </form>
    </p>
    </body>
    </html>
    upload_base_upload.php
    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
     
    <?php
    if (isset($_FILES['fichier1'])) $LeFic=trim($_FILES['fichier1']['name']);
        else $LeFic="";
    $message="";
    if(  $LeFic!="" )
     {
     $poid_max="40000"; 
     $destin="0workdesti/"; 
     $taille = getimagesize($_FILES['fichier1']['tmp_name']);
     $poid = filesize($_FILES['fichier1']['tmp_name']); 
     $message="";
     
     if(substr($LeFic,-3) !="jpg")
       {$message="L image doit etre au format jpeg jpg";}
     if ($poid>$poid_max)
      {$message=" l image est trop lourde ... 40 Ko maxi";}
     if ($poid<=$poid_max && $message=="")
      {
       // === on supprime les accents et les espaces du nom de l'image 
       $LeFic = strtr($LeFic,  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
        "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");  
       // === on supprime les espaces
       $LeFic=str_replace(" ","_",$LeFic);
       // === on met en minuscule
       $LeFic=strtolower($LeFic); 
       $newnom=$destin.$LeFic;
       if (file_exists($destin.$LeFic))
         {
            $message="L image est déjas sur le site web";
         }
         else
          {
          copy($_FILES['fichier1']['tmp_name'],$destin.$LeFic);
          $imagefile=$destin.$LeFic;
          $src_img = imagecreatefromjpeg($imagefile);
          $message="L image ".$newnom." est copiée";
         }
      }
     }
     
    $Limg=$imagefile;
    print "<script type='text/javascript'>window.location='upload_base_saisie.php?Limg=".$Limg."&message=".$message."'</script>";
    exit;
    ?>
    Merci pour ta reponse mais ce que je veux faire c'est que quand je choisi un fichier (image je suppose) et j'affiche un aperçu dans la meme page pour
    que l'utilisateur peu voir l'image qu'il veu uploadé
    Merci d'avance

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Tu ne peux pas avoir un aperçu de l'image avant de l'avoir uploadée ! Même si tu considères qu'avoir un tel accès au poste de l'utilisateur ne pose pas de problème de sécurité !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Tu ne peux pas avoir un aperçu de l'image avant de l'avoir uploadée ! Même si tu considères qu'avoir un tel accès au poste de l'utilisateur ne pose pas de problème de sécurité !
    ok he ben et si je l'upload en utilisant ajax et je l'affiche dans la meme page es que c'est possible ?
    j'ai essai avec ajax mais ca marche pas pk je ne sais pas
    Merci pour la reponse

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Non, il ne me semble pas que tu puisses passer un input de type file via Ajax.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Non, il ne me semble pas que tu puisses passer un input de type file via Ajax.
    Merci pour la reponse tu sais un tutoriel pour le faire a laide d'une iframe cache Merci d'avance

  8. #8
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Si tu veux avoir une prévisualisation de l'image avant de l'envoyer (un peu comme font les site de tirages photos), alors utilise plutôt une applet Java.

    ERE

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 126
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Salut,

    Si tu veux avoir une prévisualisation de l'image avant de l'envoyer (un peu comme font les site de tirages photos), alors utilise plutôt une applet Java.

    ERE
    Merci pour l'astuces
    c'est trés pratique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Uploader une image en ajax ?
    Par ouldfella dans le forum Laravel
    Réponses: 5
    Dernier message: 19/05/2016, 05h04
  2. [Prototype] Uploader une image en ajax
    Par DevilYann dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 07/09/2010, 10h07
  3. Upload une image et l'afficher
    Par kitten13 dans le forum Langage
    Réponses: 5
    Dernier message: 16/06/2009, 18h02
  4. [Upload] uploader une image avec move_uploades_file
    Par pod1978 dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2006, 13h50
  5. Uploader une image à partir d'un formulaire ?
    Par netwebzone dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2005, 09h27

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