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 multi fichier


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut upload multi fichier
    Bonjour,

    Voila j ai un script qui me permet d uploader des images sur mon serveur image + description tout fonctionne nickel mai je souhaiterais faire du multi upload mais je ne vois pas par ou commencer merci de votre aide

    le formulaire :

    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
    <?php
    include 'inc/config.php';
    include 'inc/connexion.php';
     
    echo '<center><form method="POST" action="import-pre3.php" enctype="multipart/form-data">';
    echo '<table class="table_joindre">'."\n";
    echo '<tr>';
    echo '<td><input type="hidden" name="MAX_FILE_SIZE" value="100000000000"></td>';
    echo '<td style="color:white;">Joindre l\'image :<input type="file" name="fichier" ></td>' ;
    echo '<td style="color:white;">Joindre une autre image :<input type="file" name="fichier2" ></td>' ;
    echo '<br /><td style="color:white;">Descriptif de l\'image :<textarea rows="5" COLS="20" name="comment"></textarea></td>';
    echo '</tr>'."\n";
    echo '</table>'."\n";
    echo '<br /><br /><center><input type="submit" name="ok" value="Import"/></center>';
    echo '</form></center>';
    ?>
    et voici le script 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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    $comment =$_POST['comment'];
    $dossier = 'images/';
    $fichier = basename($_FILES['fichier']['name']);
    $taille_maxi = 20000000;
    $taille = filesize($_FILES['fichier']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG', '.PNG', '.GIF');
    $extension = strrchr($_FILES['fichier']['name'], '.');
     
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
     
    {
    $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
    $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
    $fichier = strtr($fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    $pres = 'pres';
    $select = 'SELECT idphoto from pres ORDER BY idphoto DESC LIMIT 1';
    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    $id = mysql_result($result, 0);
    $nombre=1;
    $count2=$id+$nombre;
    $filename=$presti.$count2.$extension;
    }
    if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier.$filename))
    {
    $sql= "INSERT INTO `pres`.`pres_galerie` (`idphoto` ,`titre` ,`text` ,`default`) VALUES ('$count2', '', '$comment', '')";
    $req= mysql_query($sql) or die( mysql_error() ) ;
    if ($req)
    {
    echo "<script language=\"JavaScript\">\n";
    echo "alert('Image importée');";
    echo 'window.history.back();';
    echo "</script>";
    }
    else
    {
    echo "<script language=\"JavaScript\">\n";
    echo "alert('Image pas importée');";
    echo 'window.history.back();';
    echo "</script>";
    }
    }
     
     
    else //Sinon (la fonction renvoie FALSE).
    {
    echo "<script language=\"JavaScript\">\n";
    echo "alert('Echec de l'upload');";
    echo 'window.history.back();';
    echo "</script>";
    }
    ?>

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 68
    Par défaut
    Pour faire du multi upload tu as deux solutions:

    - Soit tu met autant de champs file qu'il y a de fichier à transferer...
    - Soit tu utilise javascript ou flash.... (uplodify ou fancyupload par exemple...)

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Merci openaccess

    par contre au niveau des champs file y a pas de souci mais au niveau du traitement c est la que je vois pas trop

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 68
    Par défaut
    Tu fais le même traitement que pour un fichier...

    Par exemple avec une boucle foreach..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach ($_FILES as $uploadfile) {
         $dossier = 'images/';
         $fichier = basename($uploadfile['name']);
         $taille_maxi = 20000000;
         $taille = filesize($uploadfile['tmp_name']);
         $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.JPG', '.JPEG', '.PNG', '.GIF');
         $extension = strrchr($uploadfile['name'], '.');
         //etc......
    }

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    Merci bocou openaccess je vais regarder ca c est beaucoup plus clair

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

Discussions similaires

  1. Uploader multi-fichier Drag and Drop (Google Docs)
    Par LoicRossi dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 29/06/2011, 15h32
  2. upload multi fichier
    Par guillaume2vo dans le forum Langage
    Réponses: 3
    Dernier message: 29/09/2010, 16h54
  3. Upload multi fichier
    Par t671 dans le forum Langage
    Réponses: 15
    Dernier message: 07/12/2009, 18h22
  4. Réponses: 1
    Dernier message: 25/07/2009, 19h41
  5. [JavaScript] [SRC] Ajout dynamique de fichiers (Gmail style) et Upload multi fichiers
    Par rr404 dans le forum Contribuez
    Réponses: 0
    Dernier message: 07/08/2007, 15h25

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