begin process at 2012 05 31 09:16:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

récup données + post


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récup données + post

lundi 9 juillet 2007 à 13:05:51 | récup données + post

cathy9999

Bonjour,
a l'aide d'une fonction javascript qui permet de créer plusieurs input file pour la récup d'images, que voici :
var num=0;
function ajout()
    {   var i=document.createElement("input");
        i.type="file";
        i.id="fic";
        i.name="fic";
     
     var d=document.createElement("div");
        d.appendChild(i);
        document.getElementById( 'divFichiers' ).appendChild(d);
 
   var b=document.createElement("input");
        b.type="button";
        b.value="inserer nom image";
     b.onclick=function() { inserer_nom(this); }
    b.width="120";
    d.appendChild(b);

        num++;
    }

j'aimerais savoir comment récupérer les images
<form id="formulaire" name="formulaire" action="exec_form.php" enctype="multipart/form-data" method="post">
<div    id="divFichiers"></div>
<a href="javascript:void(ajout());" class="titreRubrique">Ajouter un champ</a></p>  

j'ai fais comme cela mais cela me récupere seulement l'image du denrier input file ajouté
if(count($_FILES)>0) {
   mkdir('images/'.$sequence);
  } 

  for($num=1; $num<=count($_FILES['fic']['name']); $num++) {
   $nom_fic = $_FILES['fic']['name'];
   
   if($nom_fic!='') {
    $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); //verifie si le fichier a une bonne extension   
      if(!in_array( substr(strrchr($_FILES['fic']['name'], '.'), 1), $extensions_ok )) {
     echo "Le fichier ".$nom_fic." n'est pas un fichier au format PNG, GIF, JPG ou JPEG.";
      }
      else {
     $nom_dest = strtr($nom_fic, //enleve tout les accents
       'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
       'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $nom_dest = strtolower(str_replace(' ','',$nom_dest)); //enleve les espaces
     
      move_uploaded_file($_FILES['fic']['tmp_name'], "images/".$sequence."/".$nom_dest); 
    }
   }
  }
que dois je faire pour que ça les récupère tous?

lundi 9 juillet 2007 à 13:26:35 | Re : récup données + post

citt

Oui ton probleme est que tous tes champs ajoutés ce nomme : fic

il faut que tu modifie ton js qui creer les crontole pour soit en faire un tableau ou leur donner une valeur differente :

var num=0;
function ajout()
    {   var i=document.createElement("input");
        i.type="file";
        i.id="fic";
        i.name="fic".num;
     
     var d=document.createElement("div");
        d.appendChild(i);
        document.getElementById( 'divFichiers' ).appendChild(d);
 
   var b=document.createElement("input");
        b.type="button";
        b.value="inserer nom image";
     b.onclick=function() { inserer_nom(this); }
    b.width="120";
    d.appendChild(b);

        num++;
    }


quand tu valide ton form tu fait mettre le nombre de input ajouter dans uninput hidden comme ca tu aura le nombre de file.

et en php tu fait une boucle comme ca

for($i=0;$i<=$_POST['nb_file'];$i++) {

echo $_FILES['fic'.$i]['name'];

}

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]
lundi 9 juillet 2007 à 14:29:36 | Re : récup données + post

cathy9999

for($num=1; $num<=count($_FILES['fic_'.$num]['name']); $num++) { move_uploaded_file($_FILES['fic_'.$num]['tmp_name'], "images/".$sequence."/".$nom_dest); Cela ne marche pas!
lundi 9 juillet 2007 à 15:00:30 | Re : récup données + post

citt

1 - count($_FILES['fic_'.$num]['name']); ne te retourna jamais ne nombre de input file que tu avait dans ton formulaires

2- tu doit boucler sur le nombre ajouter
donc tu peut faire ca :

Javascript :
var num=0;
function ajout()
    {   var i=document.createElement("input");
        i.type="file";
        i.id="fic";
        i.name="fic".num;
     
     var d=document.createElement("div");
        d.appendChild(i);
        document.getElementById( 'divFichiers' ).appendChild(d);
 
   var b=document.createElement("input");
        b.type="button";
        b.value="inserer nom image";
     b.onclick=function() { inserer_nom(this); }
    b.width="120";
    d.appendChild(b);

// Permet de definir le nombre de file
document.getElementById('nb_file').text = num;

        num++;
    }


Html :

<form id="formulaire" name="formulaire" action="exec_form.php" enctype="multipart/form-data" method="post">
<div    id="divFichiers"></div>
<a href="javascript:void(ajout());" class="titreRubrique">Ajouter un champ</a></p>
<input type="hidden" name="nb_file" id="nb_file">


PHP :

for($i=0;$i<=$_POST['nb_file'];$i++) {
   echo $_FILES['fic'.$i]['name'];
}

Cela devrais déjà te donner les fichiers que tu veut uploader, si ca ne t'affiche pas les fichier pas la peine de faire un move_uploaded_file


Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]
lundi 9 juillet 2007 à 15:40:12 | Re : récup données + post

cathy9999

Non cela ne marche pas! je ne fais pas comme cela for($i=0;$i<=$_POST['nb_file'];$i++) { car j'utilise déja cette valeur : if($_POST['bouton']=="Ajouter") { if(count($_FILES)>0) { mkdir('images/'.$sequence); } for($i=0; $i<=count($_FILES['fic'.$i]['name']); $i++) { $nom_fic = $_FILES['fic'.$i]['name']; if($nom_fic!='') { $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); if(!in_array( substr(strrchr($_FILES['fic'.$i]['name'], '.'), 1), $extensions_ok )) { echo "Le fichier ".$nom_fic." n'est pas un fichier au format PNG, GIF, JPG ou JPEG."; } else { $nom_dest = strtr($nom_fic, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); $nom_dest = strtolower(str_replace(' ','',$nom_dest)); move_uploaded_file($_FILES['fic'.$i]['tmp_name'], "images/".$sequence."/".$nom_dest); } } }
lundi 9 juillet 2007 à 15:55:10 | Re : récup données + post

citt

Tu utiliserai pas cette exemple par hasard ? :

[ Lien ]

Car la solution est dans le post !!

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]

lundi 9 juillet 2007 à 16:00:19 | Re : récup données + post

citt

si c'est ca il te suffit de faire ca :

i.name="fic[]" ;

Citt_jr
Bats toi avec les meilleurs, crève avec le reste
[ Lien ]

lundi 9 juillet 2007 à 16:04:25 | Re : récup données + post

cathy9999

Non ce n'est pas cela !!! je vois pas d'où viens mon souci !
mercredi 11 juillet 2007 à 17:28:38 | Re : récup données + post

cathy9999

Trouvé ! for($num=0; $num<=count($_FILES); $num++) { $nom_fic = $_FILES['fichier'.$num]['name']; move_uploaded_file($_FILES['fichier'.$num]['tmp_name'], "images/".$sequence."/".$nom_dest); var num=0; function ajout() // fonction ajoutant les input file, les supprimant. { var i=document.createElement("input"); i.type="file"; i.id="fichier" i.name="fichier"+num;
mardi 17 juillet 2007 à 15:24:23 | Re : récup données + post


Cette discussion est classée dans : images, input, file, var, fic


Répondre à ce message

Sujets en rapport avec ce message

lister fichiers et sous-dossiers [ par Totofweb ] Bonjourdans un script, j'ai besoin de lister les fichiers d'un dossier et les fichiers des sous-dossiers (niveau 1 seulement, mais si vous avez une so input de type file avec valeur par défaut [ par fabrice_pi ] Salut à tous,Est-ce qu'il y a une façon de donner une valeur par défaut à un champ input de type file ? Dans le cas suivant la valeur du champ value e input type file et récupération de la variable HTTP [ par lineb76 ] Bonjour !J'ai un gros pb pour récupérer ma variable fichier que je passe via un Pour récupérer mes variables je suis obligée de passer par $HTTP_POST_ probleme avec input type file impossible de recup une valeur [ par poule550705 ] Je doit juste recupérer le chemin exact du fichier selectionner avec . Je n'arrive qu'a recuperer le nom de ce fichier avec $_FILE et non pas le chemi input=file [ par dadystar ] j'aimerais savoir comment restreindre les droits à un utilisateur quand il clique sur parcourir pour joindre un fichier.(par exemple refuser le droit Help fonction IF FILE EXIST [ par VANLOC ] Bonjour a tous, J'ai une fonction du type :$temp = "images/produits/".$row_rsCatalogue['reference'].".htm";if(file_exists($temp)){  echo blablablaOu j Ordre de listage d'un répertoire [ par Evangun ] Bonsoir! j'ai trouvé la fonction suivante qui liste le contenu d'un répertoire et des sous-répertoires. Elle marche parfaitement sous easyPHP mais le Input type=file astuce !!?? [ par fredo35m ] Bonjour,j'ai sur ma page un Input type=file, qui m'ouvre un explorateur mais je souhaiterais pouvoir ouvrir l'explorateur vers un chemin déterminé. es Unlink() qui détruit rien [ par Tartuffe ] Voici le message d'erreur... " Warning: unlink(200601131453471.png): No such file or directory in /home/...etc.../tpr/fichier_qui_contient_la_boucle.p Javascript et php [ par jbcaiz ] Bonjour, je suis entrain de découvrir TinyMCE et j'ai un petit probleme avec la gestion des images.je m'explique il y a un fichier .js dans le quel on


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales