Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1524 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Petit problème avec $_FILES

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petit problème avec $_FILES

n°1801272
Metabolicm​an
Posté le 17-10-2008 à 09:37:11  profilanswer
 

Bonjour à tous,
 
Je suis en train de créer le site de mon entreprise et plus particulièrement un module pour les utilisateurs
pour qu'ils puissent envoyer des fichiers personnel.
 
Mais j'ai un léger problème avec $_FILES, je vous montre mon code ca sera plus explicite:
 

Code :
  1. <?php
  2. if(isset($_POST['envoyer']))
  3. {
  4. if(!empty($_FILES['fichier']['name']))
  5. {
  6.  $nom_fichier=$_FILES['fichier']['name'];
  7.  $type_fichier=$_FILES['fichier']['type'];
  8.  $taille_fichier=$_FILES['fichier']['size'];
  9.  echo $nom_fichier."<br />";
  10.  echo $type_fichier."<br />";
  11.  echo $taille_fichier."<br />";
  12.  var_dump($nom_fichier);
  13. }
  14. else
  15. {
  16.  echo "<div align='center' style='color:#FF0000;'><b><u>Veuillez s&eacute;lectionner un fichier.</u></b></div><br /><br />";
  17. }
  18. }
  19. ?>
  20. <form method="POST">
  21. <div align="center">
  22. Fichier: <input type="file" name="fichier" />
  23. <input type="submit" name="envoyer" value="Envoyer" class="bouton" />
  24. </div>
  25. </form>


 
Je ne pense pas avoir fait d'erreurs et lorsque je test la variable $_FILES['fichier']['name'] pour savoir si l'utilisateur
a bien renseigner le formulaire, le script passe directement dans le else. Lorsque je ne fais pas le test et que j'affiche le var_dump($nom_fichier) il me dis que la variable est NULL.
 
PS: Je travail en local avec WAMP SERVER 2.0
 
Merci pour vos réponses.

mood
Publicité
Posté le 17-10-2008 à 09:37:11  profilanswer
 

n°1801285
Metabolicm​an
Posté le 17-10-2008 à 10:00:45  profilanswer
 

Problème à moitié résolu, il fallait spécifier le type d'encodage des données dans
le formulaire:

 

<form method="POST" enctype="multipart/form-data">

 

Mais il m'affiche que le nom, la taille ainsi que le type sont à 0 et NULL.


Message édité par Metabolicman le 17-10-2008 à 10:08:06
n°1801325
flo850
moi je
Posté le 17-10-2008 à 11:08:24  profilanswer
 

tu n'as pas d'erreur dans $_FILES['nom_du_fichier']['error'] ?

Code :
  1. <?      
  2. if ($_FILES['nom_du_fichier']['error']) {
  3.          switch ($_FILES['nom_du_fichier']['error']){
  4.                   case 1: // UPLOAD_ERR_INI_SIZE
  5.                   echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
  6.                   break;
  7.                   case 2: // UPLOAD_ERR_FORM_SIZE
  8.                   echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !" );
  9.                   break;
  10.                   case 3: // UPLOAD_ERR_PARTIAL
  11.                   echo "L'envoi du fichier a été interrompu pendant le transfert !";
  12.                   break;
  13.                   case 4: // UPLOAD_ERR_NO_FILE
  14.                   echo "Le fichier que vous avez envoyé a une taille nulle !" );
  15.                   break;
  16.          }
  17. }
  18. else {
  19. // $_FILES['nom_du_fichier']['error'] vaut 0 soit UPLOAD_ERR_OK
  20. // ce qui signifie qu'il n'y a eu aucune erreur
  21. }
  22. ?>


Message édité par flo850 le 17-10-2008 à 11:08:50

---------------

n°1801335
Metabolicm​an
Posté le 17-10-2008 à 11:30:20  profilanswer
 

Il n'y a pas d'erreur...
 
J'ai modifié mon script par un truc bidon:

Code :
  1. if(isset($_POST['envoyer']))
  2. {
  3. var_dump($_FILES);
  4. }
  5. <form method="POST"  enctype="multipart/form-data">
  6. <div align="center">
  7. <input type="hidden" name="MAX_FILE_SIZE" value="20000" />
  8. Fichier: <input type="file" name="fichier" />
  9. <input type="submit" name="envoyer" value="Envoyer" class="bouton" />
  10. </div></form>


 
Et voici le résultat de mon var_dump:
array(1) { ["fichier"]=> array(5) { ["name"]=> string(12) "banniere.jpg" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }
 
Seule la propriété name fonctionne et tout le reste mystère....

n°1801336
sielfried
Posté le 17-10-2008 à 11:37:25  profilanswer
 

http://fr2.php.net/manual/fr/featu [...] errors.php
 
UPLOAD_ERR_FORM_SIZE  
Valeur : 2. Le fichier téléchargé excède la taille de MAX_FILE_SIZE, qui a été spécifiée dans le formulaire HTML.
 
T'as dû tenter avec un fichier > 20Ko. :spamafote:
 


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1801348
Metabolicm​an
Posté le 17-10-2008 à 11:47:00  profilanswer
 

Non, j'ai changer la valeur de MAX_FILE_SIZE par 20000000 et rien ne change


Message édité par Metabolicman le 17-10-2008 à 11:48:28
n°1801351
flo850
moi je
Posté le 17-10-2008 à 11:50:18  profilanswer
 

il y a un changement a faire au niveau de la configuration du serveur ( et du php.ini )


---------------

n°1801354
Metabolicm​an
Posté le 17-10-2008 à 11:52:40  profilanswer
 

le php.ini est configuré à 2M donc le problème ne vient pas de là.
En outre j'avais déjà essayé de changer le champ upload_tmp_dir
dans php.ini mais rien ne change.

n°1801361
flo850
moi je
Posté le 17-10-2008 à 11:59:57  profilanswer
 

il y ad'autres valeurs a changer : http://www.radinks.com/upload/config.php


---------------

n°1801365
kao98
...
Posté le 17-10-2008 à 12:02:01  profilanswer
 

On dirait que c'est le MAX_FILE_SIZE qui n'est pas pris en compte !
Tu peux faire voir ton form STP !?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
mood
Publicité
Posté le 17-10-2008 à 12:02:01  profilanswer
 

n°1801367
Metabolicm​an
Posté le 17-10-2008 à 12:08:00  profilanswer
 

file_uploads->Déjà sur On
 
memory_limit->Réglé sur 128Mo donc pas besoin de changer
 
max_execution_time and max_input_time->Pas nécessaire de le modifier
je travail en local donc ca doit être relativement rapide au niveau de l'exécution
 
upload_max_filesize and post_max_size-> Déjà été modifié sans influence

n°1801369
Metabolicm​an
Posté le 17-10-2008 à 12:09:20  profilanswer
 

kao98 a écrit :

On dirait que c'est le MAX_FILE_SIZE qui n'est pas pris en compte !
Tu peux faire voir ton form STP !?


 
<form method="POST" enctype="multipart/form-data" style="margin:0;padding:0;">
<div align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="20000000" />
 
Fichier: <input type="file" name="fichier" />
<input type="submit" name="envoyer" value="Envoyer" class="bouton" />
</div>
</form>

n°1801377
Metabolicm​an
Posté le 17-10-2008 à 12:19:41  profilanswer
 

Ben maintenant ca fonctionne je n'ai rien changé.... c'est à n'y rien comprendre


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Petit problème avec $_FILES

 

Sujets relatifs
Turbo c++ : probleme de linkeur?Problème MCD vers MPD sur PowerAMC
Probleme avec texte cliquable+description qui apparait en dessousProblème d'apostrophe PHP et SQL SERVER
Probleme Affichage Background dans TableauPetit probléme pour une suppresion d'enregistrement
[UNIX] Problème avec rshSoucis actionscript..ou..php? petit formulaire
Plus de sujets relatifs à : Petit problème avec $_FILES


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR