|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : août 2004 Messages : 31 ![]() |
Bonjour,
j'ai lu de très nombreux articles et forums au sujet de l'upload de fichiers, mais maintenant, je suis coincé. Alors je viens voir si quelqu'un de plus malin que moi pourra me venir en aide. Ce qui me chiffonne : le premier fichier est correctement uploadé (le programme fonctionne donc), mais les autres ne le sont pas !!!! Pourquoi ???? Page d'appel: Code HTML :
Page d'upload: Code :
Merci d'avance pour n'importe quelle idée qui fera avancer le machin! Mike |
||||
|
|
00
|
|
|
#2 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Vous mélanger deux écritures différentes avec/sans register_globals actif. D'après votre code cet extrait me semble plus cohérent :
Code :
Code :
for ($Key = 0, $c = count($_FILES['fichattach']['name']); $Key < $c; $Key++) { |
||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2004 Messages : 31 ![]() |
Bonjour Julp,
merci de ta réponse rapide. En ce qui concerne ta première remarque (mélange des variables GlobalSystems et locales), tout-à-fait d'accord: manque de cohérence (mais sans conséquence sur le fonctionnement du programme; j'ai n"anmoins corrigé) Par contre, je ne pense pas que le remplacement de la boucle "foreach" par la boucle "for" change quoi que ce soit: la première s'exécutait fort bien dans sa totalité: le "echo" de débugging, que j'avais supprimé dans le post, prouve bien son exécution complète et avec les bons noms de fichiers. Néanmoins, pour toute certitude, et faisant foi de ta grande expérience, j'ai procédé au remplacement de ma boucle par ta proposition. Malheureusement, avec exactement le même résultat: boucle exécutée complètement, mais seul le premier fichier est uploadé. La question reste donc entière: Pourquoi ???? Merci encore pour toute aide Mike |
|
|
00
|
|
|
#4 | |||||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Code X :
Code X :
La deuxième partie du problème provient de $DIRDEST qui est faux dès la deuxième itération à cause de la concaténation. Supprimer : Code :
$DIRDEST = getcwd().$DIRDEST; // dossier où sera déplacé le fichier En (par exemple) : |
|||||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : août 2004 Messages : 31 ![]() |
Bonjour Julp,
Nous ne serons pas d'accord sur tout, mais je ne peux pas t'en vouloir car tu as bel et bien résolu le problème: il se trouvait dans la modification à chaque tour de boucle de la variable $DIRDEST. En fait, cette commande s'est retrouvée dans la boucle, je sais pas trop comment sans que je m'en aperçoive. Je suppose que j'étais tellement persuadé que le problème était lié à la technique d'upload (qui m'avait déjà pas mal fait galérer), que ce qui aurait dû m'être évident m'a échappé. Bref, il m'a suffit de replacer le "$DIRDEST=...." avant la boucle, et tout est rentré dans l'ordre. Ce qui m'amène au second point: la boucle "Foreach" telle que je l'avais proposée fonctionne parfaitement (maintenant Il est vrai que les variables d'array ne prennent pas tout à fait la même valeur, comme tu le soulignes, mais c'est sans importance, les 2 versions semblent équivalentes (à moins que qqch m'échappe, bien sûr) Voilà. En tout cas merci beaucoup du coup de main. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com