Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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/2008, 15h57   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
Par défaut Perte de $_POST lors d'envoi de gros fichiers

Bonjour.

Je souhaite utiliser plusieurs formulaires d'envoi de fichier envoyés à une seule page php.

Pour les différencier j'utilise un champ hidden "action"

Code :
1
2
3
4
5
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="hidden" name="action" value="test">
<input type="file" name="userfile" size="50"><br />
<input type="submit" value="Envoyer">
</form>
La page upload.php teste $_POST['action']

Lorsque j'envoie un gros fichier (27 Mo dans mon cas), la variable $_POST['action'] n'existe pas. C'est en fait le tableau $_POST qui est null.

Y a-t-il une solution pour récupérer la valeur du champ "action" envoyée par POST ou suis-je obligé de créer plusieurs pages de type upload.php ?
jpascal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 07h50   #2
Membre habitué
 
Inscription : juin 2004
Messages : 296
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juin 2004
Messages : 296
Points : 147
Points : 147
Hello,

T'as une valeur limite dans le PHP.INI qui défini la taille max d'une requête post : post_max_size.

Ptete que tu as dépassé cette valeur et le fait de dépasser cette valeur fait que ton $_POSt est vide ?
__________________
- Blog
- stages-aikido.fr
kaboume est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 10h18   #3
Membre du Club
 
Étudiant
Inscription : mai 2006
Messages : 49
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2006
Messages : 49
Points : 53
Points : 53
Envoyer un message via MSN à APommePote
Salut,
Il y a (au moins) 2 directive à modifier pour des post de cette taille:
- post_max_size (correspond à la taille maximal d'un post, 8M par défaut, dans ton cas 30M)
- upload_max_filesize (correspond à la taille max d'un upload de fichier, 2M par defaut, dans ton cas 30M)

Si l'upload passe par un réseau moyennement rapide (internet) il pourrai être judicieux de modifier la directive:
max_execution_time (30sec par defaut) Pour des raisons de "sainteté du code" la modifier à la volé en PHP est un bon choix.
ini_set("max_execution_time", 60);
APommePote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2008, 13h58   #4
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 70
Points : 25
Points : 25
C'était bien ça.

Merci à vous deux.
jpascal 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 23h06.


 
 
 
 
Partenaires

Hébergement Web