Bonjour
Je tient à dire que ce script n'est pas totalement sécurisé parce que je n'me suis pas penché sur le sujet, mais à priori ça devrais passer.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="favicon.ico">
<title>Flamzat - Hébérgeur de fichier.</title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="js/fileinput.min.js" type="text/javascript"></script>
<script src="js/fileinput_locale_fr.js" type="text/javascript"></script>
<script src="js/fileinput_locale_es.js" type="text/javascript"></script>
<style>
ul {
list-style-type: none;
padding: 5px;
margin: 10px;
}
ul li {
padding: 5px;
}
.rappel {
position: fixed;
left: 0;
bottom: 0;
}
.rappel1 {
position: fixed;
right: 0;
top: 0;
}
</style>
<!-- Custom styles for this template -->
<link href="jumbotron-narrow.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<script src="../../assets/js/ie-emulation-modes-warning.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="header clearfix">
<nav>
<ul class="nav nav-pills pull-right">
<li role="presentation"><a href="http://flamzat.fr">Accueil</a></li>
<li role="presentation" class="active"><a href="heberger.php">Hébérgeur</a></li>
<li role="presentation"><a href="cgu.php">CGU</a></li>
<li role="presentation"><a href="#">Contact</a></li>
</ul>
</nav>
<h3 class="text-muted" style="font-family: HACKED;margin-top: 15px;">FLAMZAT</h3>
</div>
<center><h1><b>Heberger votre fichier</b></h1></center>
<style>
.btn-file {
position: relative;
overflow: hidden;
width:100%;
}
.btn-file input[type=file] {
width:100%;
position: absolute;
top: 0;
right: 0;
min-height: 100%;
font-size: 100px;
text-align: right;
filter: alpha(opacity=0);
opacity: 0;
background: red;
cursor: inherit;
display: block;
}
input[readonly] {
width:100%;
background-color: white !important;
cursor: text !important;
}
</style>
<form method="post" enctype="multipart/form-data" >
<div class="container" style="margin-top: 20px;">
<div class="row">
<?php
function random($car) {
$string = "";
$chaine = "abcdefghijklmnpqrstuvwxy";
srand((double)microtime()*1000000);
for($i=0; $i<$car; $i++) {
$string .= $chaine[rand()%strlen($chaine)];
}
return $string;
}
if(isset($_POST['submit']))
{
$allowedExts = array("mp3", "mp4"); // Ici mettez ce que vous voulez (rar, zip, php, html, exe...)
$fileName = $_FILES['file']['name'];
$extension = substr($fileName, strrpos($fileName, '.') + 1);
$nouveaunom = "".random(4)."";
if(in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo 'Hébérgement terminé, voici votre lien : <a href="http://flamzat.fr/fichier.php?id='.$nouveaunom.'&nom='.$_FILES["file"]["name"].'" target="_blank">http://flamzat.fr/fichier.php?id='.$nouveaunom.'&nom='.$_FILES["file"]["name"].'</a><br><br><a href="heberger.php">Hébérger un nouveau fichier.</a>';
if (file_exists("uploads/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"uploads/" . $nouveaunom . ".".$extension."");
}
}
}
else
{
echo "Fichier invalide.<br><a href='heberger.php'>Retenter.</a>";
}
} else {
?>
<div class="input-group">
<span class="input-group-btn">
<span class="btn btn-primary btn-file">
Choisissez un fichier… <input style="width: 100%" type="file" name="file" multiple>
</span>
</span>
<input type="text" class="form-control" readonly>
</div>
<input type="submit" name="submit" class="btn btn-primary" style="margin-top: 10px;" value="Hébérger"/>
<span class="help-block">
Seuls les formats MP3 sont autorisés.
</span>
</div>
</div>
</form>
<div class="rappel">
Sur chrome, vous avez "Transfert en cours (*%)" ici.
</div>
<div class="rappel1">
*<u>Nous ne sommes pas responsables de ce que vous uploadez sur nos serveurs</u>.
</div>
<footer class="footer">
<p>© Flamzat 2015</p>
</footer>
</div> <!-- /container -->
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap-filestyle.js"> </script>
<script src='/ytembed.js'></script>
<script>
$('#input15').filestyle({
size : 'lg'
});
</script>
</body>
</html>
<?php
}
?>
<script>
$(document).on('change', '.btn-file :file', function() {
var input = $(this),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
input.trigger('fileselect', [numFiles, label]);
});
$(document).ready( function() {
$('.btn-file :file').on('fileselect', function(event, numFiles, label) {
var input = $(this).parents('.input-group').find(':text'),
log = numFiles > 1 ? numFiles + ' files selected' : label;
if( input.length ) {
input.val(log);
} else {
if( log ) alert(log);
}
});
});
</script>
Je vous ai fournis un code avec Bootstrap, vous n'êtes pas obliger de le prendre, triez le si nécessaire

Pour le script complet du site Flamzat.fr venez me voir en privé !