Ajout type mime dans script php upload

jules87 - 15 mai 2013 à 15:51
 jules87 - 18 mai 2013 à 14:28
Bonjour à tous,
Je souhaiterais ajouter les types mime : mp3, wma, ogg à la place de ces extensions dans ce petit script d 'upload.
Merci



<?php

$target     = "uploads/";
$max_size   = 9000000;
$ip = $_SERVER['REMOTE_ADDR'];
$ipf = "___[$ip]___";
$url = "www.radio87.fr___";
$date = date ("d.m.Y__H.i.s");
$extensions_ok = array("mp3","wma","ogg");



$nom_file   = $_FILES['fichier']['name'];
$nom_file   = $date .$ipf .$url .$nom_file;
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target;
$extension  = substr($nom_file,-3);


$to      = 'MAIL@MAIL.fr';
$subject = 'Envoi mp3';
$headers = 'From: MAIL@MAIL.fr';
$message = "Nom du fichier : $nom_file \n \n http://www.radio87.fr/podcasts/emissions/espace_prive/uploads/";


if($_POST['posted'])
{


  if($nom_file)
  {

    if(in_array(strtolower($extension),$extensions_ok))
    {
            

        if(($taille <= $max_size))
        {

            if(move_uploaded_file($tmp,$chemin.$nom_file)) 
            {

                echo 'Fichier upload&eacute avec succès !

';
                echo '<li>Nom du fichier : '.$nom_file.'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
                echo '<li>Nous venons de recevoir un e-mail. Si le fichier est conforme, il sera diffus&eacute sur R87.</li>';
                mail($to, $subject, $message, $headers);
                echo '<li>[uploads/'.$nom_file.' Voir le fichier]</li>

';

                mail($to, $subject, $message, $headers);

               
            }
               else
            {

                echo 'Problème lors de l\'upload ! [envoyer_une_chronique.php Retour]

';


            }
        }
          else
        {

          echo 'Erreur dans la taille du fichier (taille max : 9 Mo) ! [envoyer_une_chronique.php Retour]

';
        }
    }
      else
    {

        echo 'Votre fichier ne comporte pas une extension valide ! [envoyer_une_chronique.php Retour]

';
        
    }
   }
    else
   {

    echo 'Le champ du fichier est vide ! [envoyer_une_chronique.php Retour]

';
   }
}
?>

6 réponses

Le formulaire :

<form enctype="multipart/form-data" action="upload.php" method="post"> 



</form>
0
nicotontige
15 mai 2013 à 16:15
Bonjour,

Je ne comprend pas ta requête, car tu gères déja les extensions mp3, ogg et wma dans le script que tu nous as donné ...
0
En fait je voudrais ajouter une les types mime en plus des extensions pour plus de sécurité
car actuellement si je renomme "vilain-fichier.php" en "vilain-fichier.mp3" le script upload quand même.
0
nicotontige
15 mai 2013 à 16:55
tu récupères les infos mime avec
$_FILES['fichier']['type']
que tu compares avec un array du style
$MIME = array('audio/wma', 'audio/mp3', 'audio/ogg');
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci mais je bug...
je place quoi dans le script ?
0
Je viens de terminer la modif de vérification type mime, le code me semble correct mais lorsque je renomme "fichier.php" et "fichier.mp3" ca passe quand même...


<?php

$target     = "uploads/";
$max_size   = 9000000;
$ip = $_SERVER['REMOTE_ADDR'];
$ipf = "___[$ip]___";
$url = "www.radio87.fr___";
$date = date ("d.m.Y__H.i.s");
$extensions_ok = array("mp3","wma","wav");
$type = $_FILES['fichier']['type'];


$nom_file   = $_FILES['fichier']['name'];
$nom_file   = $date .$ipf .$url .$nom_file;
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin     = $target;
$extension  = substr($nom_file,-3);


$to      = 'MAIL@MAIL.fr';
$subject = 'Envoi mp3';
$headers = 'From: MAIL@MAIL.fr';
$message = "Nom du fichier : $nom_file \n \n http://www.xxxxxxxxxxxxxxxxxxx/espace_prive/uploads/";


if($_POST['posted'])
{


  if($nom_file)
  {

    if(in_array(strtolower($extension),$extensions_ok))
    {

     if($type=='audio/mpeg' || $type=='audio/mp3' || $type=='audio/x-ms-wma' || $type=='audio/x-wav')
     {

        if(($taille <= $max_size))
        {

            if(move_uploaded_file($tmp,$chemin.$nom_file)) 
            {

                echo 'Fichier upload&eacute avec succès !

';
                echo '<li>Nom du fichier : '.$nom_file.'</li>';
                echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
                echo '<li>Nous venons de recevoir un e-mail. Si le fichier est conforme, il sera diffus&eacute sur R87.</li>';
                echo '<li>[uploads/'.$nom_file.' Voir le fichier]</li>

';
                mail($to, $subject, $message, $headers);
               
            }
               else
            {

                echo 'Problème lors de l\'upload ! [envoyer_une_chronique.php Retour]

';


            }
        }
          else
        {

          echo 'Erreur dans la taille du fichier (taille max : 9 Mo) ! [envoyer_une_chronique.php Retour]

';
        }
    }
          else
        {

          echo 'Votre fichier ne comporte pas un format valide ! [envoyer_une_chronique.php Retour]

';
        }
    }
      else
    {

        echo 'Votre fichier ne comporte pas une extension valide ! [envoyer_une_chronique.php Retour]

';
        
    }
   }
    else
   {

    echo 'Le champ du fichier est vide ! [envoyer_une_chronique.php Retour]

';
   }
}
?>
0
Rejoignez-nous