Restriction fichier pour Upload

Fermé
cavujo Messages postés 49 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 2 mars 2009 à 02:18
Bonjour,

Voyez vous quoique ce soit qui restreigne le type de fichier uploadable dans le scripte suivant ?
Ou alors quoique ce soit faisant en sorte qu'un fichier peut-être uploadable alors qu'un autre de type identique ne l'est pas ?
Je précise avec un exemple; certain mp3 sont uploadables et d'autre de taille similaire ne le sont pas. Quelles sont les causes de cette différence de traitement ?

Mon scripte :

<?php

$dir = './video';

$dir_mini = './mini';

$ratio = 150;

if (isset($_POST['go'])) {
if (empty($_FILES['mon_image']['tmp_name'])) {
$erreur = 'Aucun fichier envoyé.';
}
else {
if (is_file('../video/'.$_FILES['mon_image']['name'])) $file_upload = '_'.$_FILES['mon_image']['name'];
else $file_upload = $_FILES['mon_image']['name'];


copy ($_FILES['mon_image']['tmp_name'], $dir.'/'.$file_upload);




if ($tableau[2] == 2) {

$src = imagecreatefromjpeg($dir.'/'.$file_upload);

if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}

imagejpeg ($im, $dir_mini.'/'.$file_upload);
}
elseif ($tableau[2] == 3) {
$src = imagecreatefrompng($dir.'/'.$file_upload);
if ($tableau[0] > $tableau[1]) {
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
}
else {
$im = imagecreatetruecolor($ratio, round(($ratio/$tableau[0])*$tableau[1]));
imagecopyresampled($im, $src, 0, 0, 0, 0, $ratio, round($tableau[1]*($ratio/$tableau[0])), $tableau[0], $tableau[1]);
}
imagepng ($im, $dir_mini.'/'.$file_upload);
}
// on redirige l'administrateur vers l'accueil de la partie admin
header('location: video.php');
exit();
}

}




?>
<html>
<head>
<title>Uploading Mates</title>
</head>

<body
background="bkground/a.JPG"
<p title="back" align="left"><a href="accueil.php"><IMG src="bklien/accueil.jpg" width=120 height=50 border=3></a></p>

<!-- j'affiche un formulaire permettant d'uploader une image -->
<IMG src="bklien/video.jpg" width=120 height=120 border=3> :<br /><br />

<form action="video.php" method="post" enctype="multipart/form-data">
<input type="file" name="mon_image" /> <input type="submit" name="go" value="Envoyer" />
</form>

<hr />


</body>
</html>

<html>

</head>

<body

title="video">




<?php

$tableau = array();
$dossier = opendir ('./video/');
while ($fichier = readdir ($dossier)) {
if ($fichier != '.' && $fichier != '..' && $fichier != 'index.php') {
$tableau[] = $fichier;
}
}
closedir ($dossier);

$nbcol=6;
$nbpics = count($tableau);

if ($nbpics != 0) {
echo '<table>';
for ($i=0; $i<$nbpics; $i++){
if($i%$nbcol==0) echo '<tr>';
echo '<td><a href="video/' , $tableau[$i] , '"><img src="mini.php?f=' , $tableau[$i] , '" alt="' , $tableau[$i] , '" /></a></td>';
if($i%$nbcol==($nbcol-1)) echo '</tr>';
}
echo '</table>';
}
else echo 'no video';

?>


voilà merci à vous ( ah au fait : ca doit se voir; je suis débutant ^^)
A voir également: