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 réussi mais pas vraiment


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut [Upload] Upload réussi mais pas vraiment
    Bonsoir,
    Voila, j'ai un probleme avec un upload multiple, quand je poste mon formulaire contenant toutes les adresse de photos (<input type="file">). Il passe tous les tests et me renvoi donc bien l'alerte ("alert("Téléchargement terminé");"). Mais quand je vais voir sur mon ftp, je n'y trouve aucune image.

    Comment faire ??? Aidez moi svp
    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
    if($_POST) {
    	$dir = '';
    	$files = $_FILES['file'];
    	for($i=1;$i<=$_POST['nb'];$i++) {
              $nom = $files['name'][$i];
              $destination = $dir.$nom;
     
    		if(!is_uploaded_file($files['tmp_name'][$i])) {
                            echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
                    }
     
    		elseif(!move_uploaded_file($files['tmp_name'][$i], $destination)) {
    			echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
    		}
     
    		elseif(!copy($files['tmp_name'][$i], $destination)) {
    			echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
    		}
            }
            echo '<script> alert("Téléchargement terminé");</script>';
    }

  2. #2
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Hello !

    Sauf erreur, la dernière instruction de ton if/else n'est pas nécesssaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    elseif(!copy($files['tmp_name'][$i], $destination)) {
    	echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
    }
    En effet, move_uploaded_file() déplace déjà ton fichier dans le dossier voulu. A mon avis, le fichier est bien déplacé, puis ta dernière instruction (le copy) écrase le fichier uploadé par un fichier vide ! Essaie donc sans la dernière instruction et redis-nous ...

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    la première aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!is_uploaded_file($files['tmp_name'][$i])) {
                            echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
                    }
    car move_uploaded_file() teste si c'est un fichier uploadé par post.
    Bye

  4. #4
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    C'est juste !

    Ca donnerait quelque chose comme ça au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if($_POST) {
    	$dir = '';
    	$files = $_FILES['file'];
    	for($i=1;$i<=$_POST['nb'];$i++) {
    		$nom = $files['name'][$i];
    		$destination = $dir.$nom;
     
    		if(!move_uploaded_file($files['tmp_name'][$i], $destination)) {
    			echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
    		}
            }
            echo '<script> alert("Téléchargement terminé");</script>';
    }
    A part ça, pourquoi commences-tu à parcourir tes fichiers à l'indice 1, et non 0 (dans le for) ?

  5. #5
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    J'ai corrigé mon code mais malgré cela, ca ne fonctionne toujours pas et donc :

    filesupload.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if($_POST) {
    	$dir = '';
    	$files = $_FILES['file'];
    	for($i=1;$i<=$_POST['nb'];$i++) {
              $nom = basename($files['name'][$i]);
              $destination = $dir.$nom;
     
    		if(!move_uploaded_file($files['tmp_name'][$i], $destination)) {
    			echo '<script> alert("Erreur pendant le téléchargement des photos");</script>';
    		}
            }
            echo '<script> alert("Téléchargement terminé");</script>';
    }
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo '<form id="files" method="post" enctype="multipart/form-data" action="filesupload.php" target="filesupload">
            <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
            <input type="hidden" id="nb" name="nb" />';
            for($i=1;$i<=15;$i++) {
              $disp=(($i>$nb)?'style="display:none"':'');
              echo '<span id="up'.$i.'" '.$disp.'>
                             '.(($i<10)?'0':'').$i.'. <input type="file" size="25" name="file['.$i.']" onchange="verif(this)" />
                             </span><br />';
              echo '</form><div style="position:absolute; bottom:0; left:50px"><a href="#"><img id="submit" border="0" src="upload.gif" alt="" onclick="upload();"></a></div>
            echo '<div id="album"><iframe name="album" src="album.php" width="400" height="400"></iframe>
            <iframe name="filesupload" style="display:none"></iframe></div>';
            }
    Donc si vous comprennez le principe, on choisit les photos a uploader dans le index puis l'upload se faire dans l'iframe.

  6. #6
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Avec combien de fichiers as-tu essayé ? Peut-être est-ce que ça vient du compteur $i qui commence à 1 au lieu de 0, comme je l'ai suggéré au-dessus ?

  7. #7
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    avec deux fichiers

  8. #8
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Et quand je met des gros fichiers ca met bcp de temps a charger donc ca devrait fonctionner. Je comprend pas !

  9. #9
    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
    Bonjour

    As tu etait voir dans le PHP.ini pour ce qui est de l'upload ?

    Cordialement

  10. #10
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Qu'est-ce que je devrait chercher dans php.ini ?

    J'ai mit un autre code et ça fonctionne mais pas avec mon code final dont j'ai plus particuliérement besoin.

  11. #11
    Membre habitué Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Points : 139
    Points
    139
    Par défaut
    Mon code fonctionne enfin, je ne sais pas comment ca peut être possible mais bon ça marche alors je n'ai plus qu'a le terminé.

  12. #12
    Membre habitué Avatar de Wookai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2004
    Messages : 307
    Points : 180
    Points
    180
    Par défaut
    Les voies de l'informatique sont impénétrables, mon fils ...

    N'oublie pas le bouton si c'est tout bon pour toi !

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

Discussions similaires

  1. Cursor vide mais pas vraiment
    Par lcaya dans le forum SQL
    Réponses: 1
    Dernier message: 12/11/2009, 10h00
  2. [CKEditor] upload image flash mais pas file ?
    Par Maoul dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 27/06/2008, 16h54
  3. "Insertion Données réussie" mais pas de données inscrites ?
    Par D4rkTiger dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 14/09/2007, 13h33
  4. Réponses: 1
    Dernier message: 10/01/2007, 23h37
  5. Réponses: 3
    Dernier message: 24/03/2006, 20h46

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