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

deathcendre - 18 mars 2013 à 16:47 - 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 

Votre réponse

1 réponse

Meilleure réponse
deathcendre - 27 mars 2013 à 09:12
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à.

Merci deathcendre 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de deathcendre

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.