Php upload mutlip

Fermé
jupiler - 14 oct. 2009 à 18:23
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 14 oct. 2009 à 18:38
Bonjour,

Voila j ai un script qui me permet d uploader de simages sur mon serveur image + description tout fonctionne nickel mai je souhaiteraias faire du multi upload mais j ne voi pa par ou commencer merci de votre aide

le formulaire :

<?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 :

<?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>";
}




?>
A voir également:

1 réponse

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
14 oct. 2009 à 18:38
Dans les name de tes champs file, mets cequetuveux[]. Exemple :
<input type="file" name="images[]" />


Ainsi, $_POST['images'] sera un array qui contiendra plusieurs images : $_POST['images'][0] la première, ...
Tu peux exploiter cet array avec un foreach
0