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 28/03/2007, 15h27   #1
Invité de passage
 
Inscription : février 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 4
Points : 2
Points : 2
Par défaut [Upload] Problème d'envoi de plusieurs fichiers depuis un formulaire

Bonjour,

je dispose d'un formulaire présentant des produits et permettant d'insérer un fichier de présentation pour chaque produit. Ainsi j'ai 20 boutons "champs fichiers" en tout.

J'ai un soucis lors du traitement du formulaire, je récupère bien toutes mes valeurs $_FILES["fichier[]"]["tmp_name"] , etc mais je n'ai toujours que le dernier fichier qui est uploadé.

J'effectue une boucle de test pour savoir si le $_FILES[fichier[]["name"] est vide. Si ce n'est pas vide, je récupère mes valeurs, j'envoie le fichier et je mets à jour ma base de donnée ! Tout se passe bien mais quand je retourne sur le répertoire je n'ai que mon dernier fichier qui est transférer.

Le plus surprenant, c'est que move_uploaded_file ne me retourne aucune erreur !

Est ce que quelqu'un a déjà eu ce problème ?
oups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 16h35   #2
Membre habitué
 
Avatar de gd_dev
 
Homme Giuseppe Damiani
Développeur Web
Inscription : décembre 2003
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Giuseppe Damiani
Âge : 39
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : Service public

Informations forums :
Inscription : décembre 2003
Messages : 76
Points : 109
Points : 109
Bonjour,

Pourriez-vous nous faire parvenir le formulaire html. En effet,
$_FILES["fichier[]"]["tmp_name"] ne me paraît pas très catolique.

Je vous soupcone d'avoir écrit

Fichier 01 <input type="file" name="fichier[]">
Fichier 02 <input type="file" name="fichier[]">
Fichier 03 <input type="file" name="fichier[]">
...

C'est ça?
gd_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 16h37   #3
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Citation:
$_FILES[fichier[]["name"]
Effectivement c'est bizarre,

pourrait être également instructif.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 17h43   #4
Invité de passage
 
Inscription : février 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 4
Points : 2
Points : 2
Effectivement j'ai utilisé : <input type="file" name="fichier[]">

J'ai aussi essayé : <input type="file" name="fichier_1">

Et dans les deux cas, j'obtiens comme l'exemple qui suit :

move_uploaded_file(C:/Program Files/internet/wamp/tmp\php8DB.tmp, ../../medias/plan_lot/460a8c25f26c2_tata.pdf)

move_uploaded_file(C:/Program Files/internet/wamp/tmp\php8DC.tmp, ../../medias/plan_lot/460a8c25f385e_toto.pdf)

Avec seulement le fichier toto qui est envoyé sur le serveur avec le nom : 460a8c25f385e_toto.pdf

Je n'ai aucune trace du devenir du fichier tata.pdf !
oups est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 09h32   #5
Membre habitué
 
Avatar de gd_dev
 
Homme Giuseppe Damiani
Développeur Web
Inscription : décembre 2003
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Giuseppe Damiani
Âge : 39
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : Service public

Informations forums :
Inscription : décembre 2003
Messages : 76
Points : 109
Points : 109
Bonjour,

Ok, je comprend. Il faut utiliser
<input type="file" name="fichier[0]">
<input type="file" name="fichier[1]">
<input type="file" name="fichier[2]">
<input type="file" name="fichier[...]">

Et dans le script:

$ary_UploadedFile = $_POST['fichier'];

foreach($ary_uploaded_file as $idx => $str_FileName){
if( $_FILES['fichier['.$idx.']']['error'] == UPLOAD_ERR_OK){
move_uploaded_file($_FILES['fichier['.$idx.']']['tmp_name'], $uploadfile)
}

}

Normalement la configuration de php.ini lmite la taille des upload à 2[Mb], c'est aussi une piste à suivre puisque vous avez une quantité de fichier à charger importante.

Pour plus de détails, je vous conseil de lire: http://ch2.php.net/manual/en/features.file-upload.php
gd_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2007, 16h11   #6
Invité de passage
 
Inscription : février 2004
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 4
Points : 2
Points : 2
merci de votre aide, je pense que j'ai un problème sur mon serveur wamp car cela fonctionne sur un serveur en ligne de test.

De plus, j'avais mis une taille limite de fichier de 10Mo et j'ai effectué mes tests avec deux fichiers de 200Ko.
oups 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 05h47.


 
 
 
 
Partenaires

Hébergement Web