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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| <?php
session_start();
//Connexion BDD
$base = mysql_connect('localhost','root','') or die ("Impossible de se connecter : ".mysql_error());
mysql_select_db('upload', $base);
echo '<h2><p align=center>Détails de l\'upload</h2>';
if (isset($_FILES["fichier"])) {
foreach ($_FILES["fichier"]["error"] as $key => $error) {
if($_FILES['fichier']['tmp_name'][$key]){
$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', '.rar', '.mp4', '.mpeg');
$extension = strtolower(strrchr($_FILES['fichier']['name'][$key], '.'));
$upload_results = array();
//Variables pour insertion + Insertion BDD
$mdpForm = $_POST['motdepasse'];
$ip = $_SERVER['REMOTE_ADDR'];
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = '<p align=center>Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt, doc, mp3 ou encore avi<br>';
}
if($taille>$taille_maxi)
{
$erreur = '<p align=center>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é...
{
$dateUp = date("Y-m-d");
$Requete = "INSERT INTO utilisateur (url, password, ip, fichier, date) VALUES ('".$url."', '".$mdpForm."', '".$ip."', '".$fichier."', '".$dateUp."')";
$result = mysql_query($Requete) or die('<font color="red">Error :/</font> on line <b>'.__LINE__.'</b>:<br />'.mysql_error());
$com = '<p align=center>Cliquez ici pour télécharger le fichier';
echo '<p align=center><a href="'.$url.'">'.$com.'</a><br/>';
echo '<a href="http://localhost/Projet/identification.php?fichier='.$fichier.'">Visualiser</a><br>';
}
else //Sinon (la fonction renvoie FALSE).
{
echo '<p align=center>Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
echo '<a href="efface.php?supprimeLeFichier='.($fichier).'">supprimer</a><br />';
echo count(array_keys($upload_results, true, true)) . " fichiers envoyés avec succès<br>";
echo count(array_keys($upload_results, false, true)) . " fichiers n'ont pas été envoyés<br>";
}else{
echo '';
}
}
}
echo '<br><p align=center>Adresse ip du client : '.$_SERVER['REMOTE_ADDR'].'';
echo '<p align=center>Port utilisé par le client : '.$_SERVER['REMOTE_PORT'].'';
//Fermeture BDD
mysql_close($base);
?> |
Partager