Bonjour, je suis actuellement bloqué sur le multi upload. Je m'explique, j'ai réussi a uploader un fichier dans le répertoire que j'ai voulu mais avec plusieurs fichiers on m'a dit qu'il fallait que je présente ma balise sous la forme : <input type="file" name="fichier[]"> mais je n'arrive pas récupérer ces données dans mon script après. J'ai utilisé un foreach.
Partie formulaire.php :
Partie upload.php :
Merci beaucoup de votre aide
Modifié par Ercan76 (25 May 2011 - 12:04)
Partie formulaire.php :
<input type="hidden" name="MAX_FILE_SIZE" value="20971520" />
<br><input type="file" name="fichier" size="30"><br>
<br><input type="file" name="fichier2" size="30"><br>
<br><input type="file" name="fichier3" size="30"><br>
<br><input type="file" name="fichier4" size="30"><br>
<br><input type="reset" value="Tout annuler"><br>
Partie upload.php :
<?php
$dossier = 'upload/';
$fichier = basename($_FILES['fichier']['name']);
$taille_maxi = 20971520;
$taille = filesize($_FILES['fichier']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.mp3', '.doc', '.docx', '.avi', '.txt');
$extension = strrchr($_FILES['fichier']['name'], '.');
//Début de la boucle des inputs
//Début des vérifications de sécurité...
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, doc, mp3 ou encore avi';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop volumineux';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
$fichier = date('Y-m-d-H-i-s').uniqId().$extension;
if(move_uploaded_file($_FILES['fichier']['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 !';
}
}
else
{
echo $erreur;
}
?>
Merci beaucoup de votre aide
Modifié par Ercan76 (25 May 2011 - 12:04)