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 04/10/2006, 11h53   #1
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Par défaut [Upload] Problème suite à un upload de fichier

Bonjour à tous,

J'ai donc un formulaire qui contient un champ type file.

Lors de l'accès a ma page de validation php, si le fichier est trop volumineux, je me retrouve avec mes variables $_POST et $_FILES complètement vides

Pensez vous qu'il y ait une solution pour résoudre ce problème ?

Pour info, je développe sous PHP5 installé via wamp (http://www.wampserver.com).
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 12h10   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Il y a une limite pour l'upload par HTTP, et il me semble que c'est de l'ordre de 2Mo
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 14h08   #3
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Merci de t'interesser au problème.

Je viens d'essayer avec un fichier d'un peu plus de 3Mo, et tout se passe bien.

J'ai pensé à un dépassement de post_max_size ou upload_max_filesize. Par contre je ne peux pas tester la taille de mon fichier puisque ma variable $_FILES est vide dès que mon fichier est trop gros.
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 14h16   #4
Membre habitué
 
Avatar de kodokan
 
Lycéen
Inscription : avril 2006
Messages : 128
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : avril 2006
Messages : 128
Points : 114
Points : 114
Salut

Il me semble que la valeur maximum de l'upload est spécifiée dans le php.ini
Alors peut-etre s'avec un ini_set()...

Sinon je ne sais comment faire pour tester la taille de ton fichier si $_FILES se vide... Peut-etre qu'avec javascript on peut faire ça mais je n'en sais rien
__________________

N'oubliez pas de voir les
quand la réponse vous convient, un pt'it serait le bienvenu
Mon site de blogs
Kodokan arena [ en construction ]
kodokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2006, 14h37   #5
Membre habitué
 
Avatar de rieppe
 
Étudiant
Inscription : octobre 2004
Messages : 115
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2004
Messages : 115
Points : 124
Points : 124
Envoyer un message via MSN à rieppe
Bon je vais juste afficher la taille maximum en esperant que les utilisateurs ne fassent pas n'importe quoi.

Je continue mes recherches au cas ou ^_^
rieppe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 19h02   #6
Membre habitué
 
Avatar de kodokan
 
Lycéen
Inscription : avril 2006
Messages : 128
Détails du profil
Informations personnelles :
Âge : 20

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : avril 2006
Messages : 128
Points : 114
Points : 114
Je vais relancer le topic mais peut-etre que ce qui suit ne marchera pas :

Sachant que move_uploaded_file() retourne true en cas de succés :

Code :
1
2
3
4
5
6
7
8
9
10
 
$destination = '/'.$_FILES['fichier']['name'];
$temp_file = $_FILES['fichier']['tmp_name'];
 
      if(!move_uploaded_file($temp_file,$destination)
           {
            // affiche un message d'erreur
           }
      else {
            //traitement
__________________

N'oubliez pas de voir les
quand la réponse vous convient, un pt'it serait le bienvenu
Mon site de blogs
Kodokan arena [ en construction ]
kodokan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 17h20   #7
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Citation:
Envoyé par rieppe
Lors de l'accès a ma page de validation php, si le fichier est trop volumineux, je me retrouve avec mes variables $_POST et $_FILES complètement vides
Je sais que le post date de longtemps mais bon, est-ce que t'as trouvé la solution car j'ai la meme chose
j'avais modifier le php.ini
Citation:
; Maximum size of POST data that PHP will accept.
post_max_size = 21M // au lieu de 8M
; Maximum allowed size for uploaded files.
upload_max_filesize = 20M // au lien de 2M
memory_limit = 22M //8M Doit etre plus gros que post_max_size

Proposé par
http://php.developpez.com/faq/?page=...ers_uploadsize
Tout semblait fonctionné j'avais testé avec de gros fichier
mais ce matin ya eu un erreur en essayant de transférer un fichier de 32 Mo...
Donc après quelque test je me suis rendu compte que ca entrait dans ce else

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] <= 20971520){
...
}
else if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 20971520){
	$msgProgress = '** Le document que vous voulez transférer est trop volumineux (20Mo+), contactez votre administrateur réseau **';
}
 
//J'ai ajouté ceci et ca rentrait là
else if(!isset($_FILES['fichier'])){
	$msgProgress = '** Il y a eu problème avec le document (UNSET FILES). Réessayez ou contactez votre administrateur réseau **';
}
On peut valider la grosseur du fichier autrement pour éviter cela??
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax 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 22h42.


 
 
 
 
Partenaires

Hébergement Web