1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?php
if (isset($_FILES["fichier"])) {
foreach ($_FILES["fichier"]["error"] as $key => $error) {
$dossier = 'upload/';
$fichier = basename($_FILES['fichier']['name'][$key]);
$taille_maxi = 20971520;
$taille = filesize($_FILES['fichier']['tmp_name'][$key]);
$extensions = array('png', 'gif', 'jpg', 'jpeg', 'mp3', 'doc', 'docx', 'avi', 'txt', 'pdf');
$extension = strtolower( substr( strrchr($_FILES['fichier']['name'][$key], '.') ,1) );
$upload_results = array();
//$extension = strrchr($_FILES['fichier']['name'][$key], '.');
//$move_upload =
//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<br>';
}
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 = uniqId().$extension;
$tmp_name = $_FILES["fichier"]["tmp_name"][$key];
$url = 'http://localhost/Projet/upload/'.$fichier;
if($upload_results[$fichier] = move_uploaded_file($_FILES['fichier']['tmp_name'][$key], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
//echo '<p align=center> Upload effectué avec succès ! <br>';
echo count(array_keys($upload_results[$fichier], true, true)) . " fichiers envoyés avec succès <br>";
$com = 'Cliquez ici pour télécharger le fichier';
echo '<a href="'.$url.'">'.$com.'</a><br/>';
//Suppression fichier
//unlink( "upload/$fichier" );
}
else //Sinon (la fonction renvoie FALSE).
{
echo count(array_keys($upload_results[$fichier], false, true)) . " fichiers n'ont pas été envoyés";
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
}
}
?> |