uploader de la musique MP3 [PHP]

uploader de la musique MP3 [PHP] - PHP - Programmation

Marsh Posté le 19-03-2006 à 15:02:29    

donc j'ai envie de pouvoir uploader des fichier MP3 dans mon server mais sa ne marche pas. alors que si je mets pour des images sa marche trés bien.  
 
donc j'ai fais le scripte suivant pour les image qui marche trés bien!

Code :
  1. <?php
  2. if( isset($_POST['upload']) ) // si formulaire soumis
  3. {
  4.     $content_dir = 'upload/'; // dossier où sera déplacé le fichier
  5.     $tmp_file = $_FILES['fichier']['tmp_name'];
  6.     if( !is_uploaded_file($tmp_file) )
  7.     {
  8.         exit("Le fichier est introuvable" );
  9.     }
  10.     // on vérifie maintenant l'extension
  11.     $type_file = $_FILES['fichier']['type'];
  12.     if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
  13.     {
  14.         exit("Le fichier n'est pas une image" );
  15.     }
  16.     // on copie le fichier dans le dossier de destination
  17.     $name_file = $_FILES['fichier']['name'];
  18.     if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
  19.     {
  20.         exit("Impossible de copier le fichier dans $content_dir" );
  21.     }
  22.     echo "Le fichier a bien été uploadé";
  23. }
  24. ?>


 
 
et je l'ai donc modifié pour pouvoir uploader de la musique mp3 (et les fichiers zip en option) se qui donne:

Code :
  1. <?php
  2. if( isset($_POST['upload']) ) // si formulaire soumis
  3. {
  4.     $content_dir = 'upload/'; // dossier où sera déplacé le fichier
  5.     $tmp_file = $_FILES['fichier']['tmp_name'];
  6.     if( !is_uploaded_file($tmp_file) )
  7.     {
  8.         exit("Le fichier est introuvable" );
  9.     }
  10.     // on vérifie maintenant l'extension
  11.     $type_file = $_FILES['fichier']['type'];
  12.     if( !strstr($type_file, 'mp3') && !strstr($type_file, 'MP3') && !strstr($type_file, 'zip') && !strstr($type_file, 'ZIP') )
  13.     {
  14.         exit("Le fichier n'est pas une musique" );
  15.     }
  16.     // on copie le fichier dans le dossier de destination
  17.     $name_file = $_FILES['fichier']['name'];
  18.     if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
  19.     {
  20.         exit("Impossible de copier le fichier dans $content_dir" );
  21.     }
  22.     echo "Le fichier a bien été uploadé";
  23. }
  24. ?>


 
 
voila donc l'érreur vien probablement de cette page au dessus mais j'aimerais savoir ou?  :pt1cable:  
 
 
 
et pour la page html j'ai mit:

Code :
  1. <form method="post" enctype="multipart/form-data" action="upload.php">
  2. <p>
  3. <input type="file" name="fichier" size="30">
  4. <input type="submit" name="upload" value="Uploader">
  5. </p>
  6. </form>


 
je pense que elle est juste!  :lol:  

Reply

Marsh Posté le 19-03-2006 à 15:02:29   

Reply

Marsh Posté le 19-03-2006 à 15:32:24    

C'est quoi l'erreur? Rien qui s'affiche? Pas de fichier uploadé??
Attention les gros fichiers passe mal.

Reply

Marsh Posté le 19-03-2006 à 16:45:16    

pour la vérification du type utilise plutot le type mime plutot que les strstr
 
mais plutot ça :
 
//types autorisés pour les images
$allowed_types = array("image/gif","image/pjpeg","image/jpeg", "image/png" );
 
 
apres tu vérifies
 
if (!in_array($_FILES['fichier']['type'], $allowed_types))
 
et affiche le type mime du mp3 pour savoir exactement ce que ca renvoit.


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
Reply

Marsh Posté le 19-03-2006 à 16:51:59    

Ton problème vient de là :
 
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
 
$_FILES['fichier']['type'] ne retourne pas l'extension, il retourne le type mime je crois (dont "image/gif" ou "image/jpg" par exemple)
 
Mais en cas de fichier MP3 ce champ est vide.
 
Il faut que tu fasse un test sur sur $_FILES['fichier']['name'] :
 
$ext = substr($_FILES['catImg']['name'],-3,3);
if($ext != 'mp3' || $ext != 'zip') { ... }
 
Mais attention, ça ne se base que sur l'extension ... donc on peut envoyer n'importe quoi.
 
++


---------------
Gamertag: CoteBlack YeLL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed