Upload de plusieurs fichiers simultanément [Résolu]

- - Dernière réponse :  deathcendre - 27 mars 2013 à 09:12
Bonjour.

Voilà mon problème. Je suis actuellement sur de l'upload d'image en php. J'arrive à uploader des fichiers 1 par 1. Maintenant j'aimerais en ajouter plusieurs (le nombre est défini par l'user) et la je galère trop. Je joins mon prog ('type.php' à ouvrir).7

upload de 1 fichier qui marche :
<form action='upload1.php' method='POST'  enctype="multipart/form-data">
<?php
//vue upload image principale
echo "Image principale : 
";
echo "
";
echo "
";
echo "Retour
";

//methode upload image principale
if(isset($_FILES['img']))
{ 
 $dossier = '.\images\slide 1\1\princ/';
 $fichier = basename($_FILES['img']['name']);
 if(move_uploaded_file($_FILES['img']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
 {
  echo 'Upload effectué avec succès !';
 }
 else //Sinon (la fonction renvoie FALSE).
 {
  echo 'Echec de l\'upload !';
 }
}
?>
</form>


Et l'autre :
<?php
static $nb;
if (isset($_POST['nb'])==true)
{
$nb=$_POST['nb'];
}
?>
<form action='upload2.php' method='POST'  enctype="multipart/form-data">
<?php
$i=0;
$var=1;
while ($i<$nb)
{
echo $var." : 
";
$i = $i+1;
$var=$var+1;
}
echo "
".$nb; //$nb affiche la première fois mais pas après avoir appuyer sur le bouton envoyé
echo "Retour 
";
//methode upload image principale
$j=1;
while($j<$nb)
{
if(isset($_FILES['img'.$j]))
{ 
 $dossier = '.\images\slide 1\1\autres/';
 $fichier = basename($_FILES['img'.$j]['name']);
 if(move_uploaded_file($_FILES['img'.$j]['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
 {
  echo 'Upload effectué avec succès !';
 }
 else //Sinon (la fonction renvoie FALSE).
 {
  echo 'Echec de l\'upload !';
 }
}
$j=$j+1;
}
?>
</form>


Merci de votre aide.
Afficher la suite 

1 réponse

Meilleure réponse
3
Merci
J'ai trouvé:

Garder uniquement formulaire précedent et le renvoyer sur une autre page php:

<?php
static $nb;
if (isset($_POST['nb'])==true)
{
$nb=$_POST['nb'];
}
?>
<form action='upload3.php' method='POST'  enctype="multipart/form-data">
<?php
$i=0;
$var=1;
while ($i<$nb)
{
echo $var." : 
";
$i = $i+1;
$var=$var+1;
}
echo "
".$nb;
echo "Retour 
"; [...]


et sur l'autre page 'uplaod3.php' :

<?php
//récupère le nombre d'images voulus
session_start();
$nb=$_SESSION['nb'];
$lienUpload=$_SESSION["lienUpload"];

$nombreImages = 1;

echo "<form action='upload3.php' method='POST'  enctype='multipart/form-data'>";
$j=0;

//suppression et recréation du dossier
$dossier = $lienUpload.'autres';

//Upload des images
while($j<$nb)
{
if(isset($_FILES['img'.$j]))
{	 
 $fichier = basename($_FILES['img'.$j]['name']);
 if(move_uploaded_file($_FILES['img'.$j]['tmp_name'], $dossier.'/'. $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
 {
rename($dossier.'/'.$fichier, $dossier."/".$nombreImages.".jpg");
echo 'Upload effectué avec succès ! 
';
$nombreImages=$nombreImages+1;

 }
 else //Sinon (la fonction renvoie FALSE).
 {
  echo 'Echec de l\'upload !
';
  
 }
}
$j=$j+1;

}
echo "Retour 
";	
//fonction de suppression du dossier
?>

</html>


Voilà.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de deathcendre