upload en boucle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload en boucle

Re: upload en boucle

par snoofy » 28 juil. 2011, 15:07

bonjour, désolé de vous repondre qye maintenant, mais été demandé sur un autre projet...
Bref de retour sur mon problème...

ma fonction upload
function Upload($id2)//attention passage de parametre pour cette fonction
{




                //declaration du form spéciale pour les upload avec enctype
txt.=	'<form method="POST" action="" enctype="multipart/form-data">

		<!-- On limite le fichier à 100Ko -->
		<INPUT type="hidden" name="MAX_FILE_SIZE" value="100000">
		<INPUT type="file" name="fichePDF"><br>';
			
	//declaration de champ caché + champ de type fichier (pour la traite) puis envoie des paramêtre par submit puis fin du form
		$txt.='<INPUT type="submit" name="upload" value="Envoyer les fichiers">
	</form>';

		//affich
	$txt.=$id2;

$blnFlagImage = FALSE;
 
                 //déclare le repertoire dans lequel sera uploader le fichier  
$repertoire = "../www/fichePDF/";

                 //si le fichier a bien été uploader dans la memoire tampon
  if (is_uploaded_file($_FILES['fichePDF']['tmp_name'])) 
  {
	// fichier recup par le formulaire comme $_POST mais spécial pour les fichiers
    $fichier_temp = $_FILES['fichePDF']['tmp_name'];

	// de meme mais en changeant le nom par rap a celui du temp
    $nom_fichier =  $_FILES['fichePDF']['name'];
                //création d'un répertoire.
                //mkdir ( $repertoire, 0777);
	
}
	$txt.= $repertoire.$id2 ."<br>" ;
	$txt.= $fichier_temp ."<br>" ;
	
	// si le déplacement du fichier du temp vers le repertoir d'accueil à réussi on affiche
	if( move_uploaded_file($fichier_temp, $repertoire.$id2.".pdf") )
		{
       $txt.= "Le fichier a bien été uploadé";
		}
	
    else
		
	 $txt.="Impossible de copier le fichier dans $repertoire";
	
return $txt;

}	
	

Re: upload en boucle

par moogli » 19 juil. 2011, 23:38

Salut,

Tel quel ton formulaire ne peux pas uploader de fichier, donc que fait cette fameuse methode ?

Comment se fait le traitement du formulaire ?

@+

Re: upload en boucle

par Ryle » 19 juil. 2011, 18:44

Et elle fait quoi ta fonction HalloViewModif::upload() au juste ?

Es-tu sur que ce n'est pas le fait de l'appeler plusieurs fois qui fait qu'elle ne fonctionne que pour la première ligne ?

upload en boucle

par snoofy » 19 juil. 2011, 16:50

Bonjour, Voivi mon code. function AffichPDF ()
{ 
$txt=""; 
$txt.="ca marche"; 
 $sql = "SELECT * FROM 'P_Produit' WHERE Fich_PDF IS NULL"; 
 $resultat = mysql_query($sql) or die('<br>Erreur SQL !<br>' . $sql . '<br>' . mysql_error()); 
   
 $txt.='<table border="1" cellspacing="2" cellpadding="2" style="border-collapse: collapse">'; 
 $i=0; 
  $txt.= '<th>Id_Produit</th> 
   <th>Reference</th> 
   <th>Nom_Synonyme</th> 
   <th>Numero CAS</th> 
   <th>Fich_PDF</th>'; 
 while($ligne = mysql_fetch_array($resultat)) 
 { 
  $txt.= '<tr><td>' 
  .($id2[$i]=$ligne['Id_Produit']).'</td><td>' 
  .$ligne['Ref_Fournisseur'].'</td><td>' 
  .$ligne['Nom_Produit_Synonyme '].'</td><td>' 
  .$ligne['NumCAS'].'</td><td>' 
  .HalloViewModif::upload($id2[$i]).'</td></tr>'; 
  $i++; 
 } 
    
  $txt.='</table>'; 

//$id2 = $ligne['Id_Produit']; 
$txt.=$id2[$i]; 
    
$txt.='<form method="POST" action="" name="listeProduit">'; 
$txt.='<INPUT type="submit" name="terminer" value="terminer">'; 
$txt.='</form>'; 
    
    
return $txt; 
} 
Ce programme affiche par requête tout les produits de ma BDD qui n'ont pas de fiche PDF, cette affichage ce fait dans un tableau avec en dernière case la possibilité d'uploader une fiche pdf rennommé avec l'Id correspondant au produit de la ligne. Mon problème, l'upload ce fait correctement seulement sur la premiere ligne de mon tableau et ce même si je choisi d'uploader sur les autres lignes. Même si certains paramêtres de HalloViewModif::upload() doivent etre changer je suis sure du fonctionnement de cette fonction. Je pense que le programme est à repenser différement... Si vous avez une idée, merci d'avance.