Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2007, 22h33   #1
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
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 :
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>';
}
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 09h47   #2
Membre habitué
 
Avatar de Wookai
 
Étudiant
Inscription : septembre 2004
Messages : 309
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 309
Points : 142
Points : 142
Envoyer un message via MSN à Wookai Envoyer un message via Skype™ à Wookai
Hello !

Sauf erreur, la dernière instruction de ton if/else n'est pas nécesssaire :
Code :
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 ...
__________________
Wookai

Wookai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 13h38   #3
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
la première aussi :

Code :
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
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 13h46   #4
Membre habitué
 
Avatar de Wookai
 
Étudiant
Inscription : septembre 2004
Messages : 309
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 309
Points : 142
Points : 142
Envoyer un message via MSN à Wookai Envoyer un message via Skype™ à Wookai
C'est juste !

Ca donnerait quelque chose comme ça au final :
Code :
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) ?
__________________
Wookai

Wookai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h30   #5
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
J'ai corrigé mon code mais malgré cela, ca ne fonctionne toujours pas et donc :

filesupload.php
Code :
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 :
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.
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h50   #6
Membre habitué
 
Avatar de Wookai
 
Étudiant
Inscription : septembre 2004
Messages : 309
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 309
Points : 142
Points : 142
Envoyer un message via MSN à Wookai Envoyer un message via Skype™ à Wookai
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 ?
__________________
Wookai

Wookai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 18h59   #7
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
avec deux fichiers
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2007, 19h03   #8
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
Et quand je met des gros fichiers ca met bcp de temps a charger donc ca devrait fonctionner. Je comprend pas !
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 02h12   #9
Membre expérimenté
 
Inscription : janvier 2007
Messages : 439
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 439
Points : 519
Points : 519
Bonjour

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

Cordialement
spawntux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 16h06   #10
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
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.
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 16h21   #11
Membre habitué
 
Avatar de Roromix
 
Inscription : décembre 2005
Messages : 182
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Calvados (Basse Normandie)

Informations forums :
Inscription : décembre 2005
Messages : 182
Points : 119
Points : 119
Envoyer un message via MSN à Roromix Envoyer un message via Skype™ à Roromix
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é.
Roromix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 16h25   #12
Membre habitué
 
Avatar de Wookai
 
Étudiant
Inscription : septembre 2004
Messages : 309
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 309
Points : 142
Points : 142
Envoyer un message via MSN à Wookai Envoyer un message via Skype™ à Wookai
Les voies de l'informatique sont impénétrables, mon fils ...

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

Wookai est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h07.


 
 
 
 
Partenaires

Hébergement Web