IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Upload de fichiers MP3


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut [Upload] Upload de fichiers MP3
    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 !

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    regarde si le tableau $_FILES contient bien les bonnes valeurs

    au sujet du test du type de fichier, il ne faut pas faire confiance au contenu de $_FILES['mus']['type'] c'est le client qui défini cette valeur

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est $_FILES['mus'] pas $_POST['mus']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Bonjour et merci de vos réponses.

    j'ai suivis ton conseil nosferapti :
    j'ai testé mon tableau :
    ['type'] : est vide
    ['name'] : contient bien le nom de mon fichier
    ['tmp_name'] : est vide

    PS : Merci sabotage, j'ai corrigé cette erreur

  5. #5
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par bionicleman Voir le message
    j'ai suivis ton conseil nosferapti :
    j'ai testé mon tableau :
    ['type'] : est vide
    ['name'] : contient bien le nom de mon fichier
    ['tmp_name'] : est vide
    regarde à quoi correspond l'erreur sur la page suivante :
    http://php.net/features.file-upload.errors

  6. #6
    Membre confirmé Avatar de bionicleman
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Par défaut
    Nickel ! C'était en fait, la taille maximum qui n'était fixée qu'à 2Mo..

    Merci de ton aide nosferapti

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Lecture de fichier mp3 via PHP
    Par nodogeid dans le forum Langage
    Réponses: 2
    Dernier message: 18/12/2007, 12h00
  2. [Upload] Upload de GROS fichiers en php
    Par osscour dans le forum Langage
    Réponses: 21
    Dernier message: 26/05/2006, 14h13
  3. [Upload] Upload d'un fichier excel sur un site web
    Par oldscrout dans le forum Langage
    Réponses: 3
    Dernier message: 31/03/2006, 10h09
  4. [Upload] Upload, renommer le fichier
    Par Alain15 dans le forum Langage
    Réponses: 15
    Dernier message: 14/02/2006, 14h06
  5. [Upload] Upload de gros fichiers
    Par Rémiz dans le forum Langage
    Réponses: 8
    Dernier message: 07/01/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo