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] Problème d'upload lié aux forces du mal


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [Upload] Problème d'upload lié aux forces du mal
    Bonjour, comme l'indique l'intitulé de mon message, j'ai un problème d'ordre "bizarre" qui peut être fera se gausser nombre d'entre vous car celà peut très bien venir de quelques ignorances ou oubli de ma part.
    J'ai créé un formulaire (enctype : multipart/form-data) pour pouvoir mettre à jour une rubrique, à l'aide de se formulaire on peut écrire un article avec son titre, mais surtout ajouter à cet article Images (upload), Mp3 (up), vidéos (up) car il s'agit en fait d'un compte-rendu de concert. j'ai à l'aide d'un script javascript, fait en sorte que l'on puisse rajouter autant de mp3 / vidéos / img que l'on veut, car en cliquant sur un simple lien, se clone un champ "<input type="file".." en dessous du précédant, en mettan ajour le "name" à chaque fois bien entendu .
    Le tout traité à l'aide de boucles php dans un autre fichier.
    Seulement survient un gros problème. Tout se passe bien, si je rajoute par exemple : article + 5images + 1 vidéo + 1 mp3. Mais des que je met plus de 2 mp3 ou 2 vidéo, ou 1mp3 + 2 vidéo ou 2 vidéo + 1 mp3 (les images ne posent aucun probleme) Alors lors de l'envoi du formulaire, plus aucunes variables ($_POST et $_FILES) ne sont transmisent, ce problème ne survient que lorsque je met plus de deux vidéos/mp3 ou lorsque le total des vidéos+mp3s dépasse 2. Ceci est la chose la plus bizarre que j'ai vue, mais peut être la solution est elle très simple. Merci d'avoir lu jusqu'au bout, pardon pour les fautes, et merci pour vos réponses prochaines !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Il va falloir nous montrer la partie pertinente de ton code.
    Que la force soit avec toi.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    D'accord, alors je vais mettre quelques petits bouts pour montrer comment ça marche.

    D'abord la fonction javascript mise avant tout, qui permet de créer un nouveau champ "<input type="file" ...>" à l'infini :

    Code : 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
     
    <script language="javascript">
     
    			var i=1;
    	      function addSelectMp3()
    	      {
    	        i++;
     
     
    	        // On récupère l\'endroit où devra être ajouté la liste
     
    	        var divCible = document.getElementById("divCibleMp3");
     
    	        // On récupère la liste modèle
     
    	        var selModele = document.getElementById("select_modeleMp3");
     
    	        // On la clone dans une nouvelle variable
     
    	        var nvxSel = selModele.cloneNode(true);
     
    	        // (pour la présentation, on crée un retour à la ligne)
     
    	        var br = document.createElement("br");
     
    	        // On adapte les attributs de la nouvelle liste : nom, id et affichage
     
    	        nvxSel.name = "mp3" + i;
    	        nvxSel.id = "mp3" + i;
    	        nvxSel.style.display = "inline";
     
    	        // On ajoute tout ça à l\'emplacement voulu
     
    	        divCible.appendChild(nvxSel);
    	        divCible.appendChild(br);
    	      }
    </script>
    Puis viens le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    <form action="./index.php?page=posterConcert" enctype="multipart/form-data" method="post">
     
    [...]
     
    <input type="file" id="select_modeleMp3" name="mp3" size="30" style="display: none">
    <input type="file" name="mp31" size="30"><a href="#" onclick="javascript:addSelectMp3();">&nbsp;Ajouter un autre mp3</a><br>
    <div id="divCibleMp3"></div>
     
    [...]
     
    </form>
    je n'ai mis là que la partie interessante du formulaire, à savoir un des champs d'ajout de fichiers, tous les champs ont la même structure pour les imgs / vidéos, seul les NOMS et ID changent, et tous sont associer à une fonction javascript propre (il n'y à pas d'interactions).

    On termine avec un bout du traitement php mais il n'y a pas de raison que celà est un inpact quelconque, car le problème est qu'aucune variable ne sort du formulaire si je met plus de 3 mp3 / vid (non-img)

    Code : 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
    38
    39
    40
    41
    42
     
    /*------------------------------------- UPLOAD DES MP3 -------------------------------------------*/
     
    		$i=1;
    		while ( !empty($_FILES['mp3'. $i]['tmp_name']) )
    			{
    				$content_dir = './upload/mp3/'; // dossier où sera déplacé le fichier
     
    		    $tmp_file = $_FILES['mp3'. $i]['tmp_name'];
     
    		    if( !is_uploaded_file($tmp_file) )
    		    {
    		        exit("Le fichier est introuvable");
    		    }
     
    		    // on vérifie maintenant l'extension
    		    $type_file = $_FILES['mp3'. $i]['type'];
     
     
    		     if( !strstr($type_file, 'mpeg') && !strstr($type_file, 'x-aiff') && !strstr($type_file, 'x-wav') )
    		    {
    		        exit("Le fichier n'est pas un mp3");
    		    } 
     
    		    // on copie le fichier dans le dossier de destination
    		    $name_file = $_FILES['mp3'. $i]['name'];
     
    		    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    		    {
    		        exit("Impossible de copier le fichier dans $content_dir");
    		    }
     
    		    $nomfiche = $content_dir . $name_file;
    		    $nomf = utf8_encode($nomfiche);
     
                        connexion();
     
    		    $sql = "INSERT INTO mediasconc (type, nomc, url)
    			     VALUES ('Mp3', '$nomc', '$nomf')";
    		    mysql_query($sql) or die("Impossible d'ajouter l'image à la base de donnée");
    				$i++;
    			}
    etc etc pareil pour les images / vidéos.
    Je résume : le problème est que : pour 1 mp3 ça marche, pour 2 mp3 ça marche, mais à partir de 3 le formulaire ne transmet plus aucune valeur. Pareil pour les vidéos...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Salut,
    Peut etre alors fais des envois en rafale de deux puisque apparement les forces du mal n ont pas la main mise sur l envoi de deux fichiers mp3 a la fois !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 466
    Points : 632
    Points
    632
    Par défaut
    Bonsoir

    Peut etre la taille d'upload autorisé par ton serveur est elle limité ^^ et tu arrives a ca limite ^^ c'est d'aillieur fort probable ^^

    Cordialement

Discussions similaires

  1. [Upload] Problème d'upload par ftp
    Par wishmastah dans le forum Langage
    Réponses: 3
    Dernier message: 22/06/2006, 15h57
  2. [Upload] Problème pour uploader un fichier dans mon code
    Par Peuplarchiste dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 09h48
  3. [Upload] Problème d'upload
    Par eric41 dans le forum Langage
    Réponses: 5
    Dernier message: 28/04/2006, 19h13
  4. [Upload] Problème d'upload de fichiers
    Par FredMines dans le forum Langage
    Réponses: 9
    Dernier message: 26/04/2006, 17h13
  5. [Upload] Problème d'upload :)
    Par manu_du_31 dans le forum Langage
    Réponses: 3
    Dernier message: 14/11/2004, 15h56

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