Bonsoir =)
j'aurais besoin de votre aide..
j'ai besoin d'uploader un fichier .mp3 mais lors de l'upload le script PHP me retourne une erreur, alors que je me suis inspiré d'un autre script qui lui, marche parfaitement.
Avant d'aller plus loin, voilà mon code :
PHP :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 if(isset($_POST['mus']) ){ // si formulaire soumis $content_dir = 'musiques/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['mus']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("L'image est introuvable, veuillez réessayer"); } // on vérifie maintenant l'extension $type_file = $_FILES['mus']['type']; if( !strstr($type_file, 'mp3')) { exit("Le fichier n'est pas une image valide ou le format n'est peut-être pas pris en compte.<br/> Veuillez vous référer à la page précédente pour savoir les formats d'images pris en chage."); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['mus']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier l'image. Veuillez réessayer."); } }
Et le formulaire qui va avec :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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 <form method='post' action='traitementmp3.php' enctype='multipart/form-data'> <p>Il vous suffit de remplir le formulaire suivant et de le valider.<br/> Tous les champs sont obligatoires, sauf indications contraires.</p> <table> <tr> <td>Titre de la musique :<br/> <input type='text' name='titre' size='50'/><br/><br/> </td> </tr> <tr> <td>Artiste :<br/> <input type='text' name='artiste' size='50'/><br/><br/> </td> </tr> <tr> <td>Nom de l'album :<br/> <input type='text' name='album' size='50'/><br/><br/> </td> </tr> <tr> <td>Genre :<br/> <input type='text' name='genre' size='50'/><br/><br/> </td> </tr> <tr> <td>Musique : <br/> <input type='hidden' name='MAX_FILE_SIZE_IMG' value='50000000'> <input type='file' name='mus' size='35'><br/> <p><font size=1><i>Attention, vous ne pouvez uploader que des mp3 de <strong>moins de 50Mo</strong></i></font></p> <br/> </td> </tr> <tr> <td><input type='submit' value='Envoyer' name='upload'/><input type='reset' value='Annuler'/></td> </tr> </table> </form>
Revenons en à mon erreur, lorsque je valide le formulaire, le php retourne :
"Le fichier est introuvable, veuillez réessayer" (ligne 6).
D'après mes tests, c'est la variable $tmp_file qui ne marche pas, je ne vois pas pourquoi
PS : Au début du code PHP : if(isset($_POST['mus']) ){
Si je ne commente pas cette ligne, le formulaire se termine (autement dit, le tableau (?) 'mus' n'est pas affectée, pourtant c'est bel et bien le nom du champ où est chargé le fichier : <input type='file' name='mus' size='35'>
PSS : le formulaire est à l'intérieur des balises <?php et ?>, le problème viendrait de là ?Merci d'avance pour votre aide !
Partager