Problème unscript d'upload de fichier

Problème unscript d'upload de fichier - PHP - Programmation

Marsh Posté le 24-11-2003 à 18:16:36    

J'ai fait un formulaire permettant de rajouter des fichiers en téléchargement sur mon site, le problème, c'est que quand je spécifie un fichier de +de 1 Mo, ça ne marche pas. Le script permet d'afficher normalement les caractéristiques fichier uploadé, d'écrire son nom dans une base mysql ...
 
La partie du formulaire correspondant :
 
<tr>
        <td class=corps>Fichier joint** :</td>
         <td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"><input type="file" name="userfile"><font size=1><i> Taille max 10 Mo</i></font></td>
       
</tr>        
<tr>                <td class=corps>Aperçu joint** :</td>
        <td><input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="file" name="userap"><font size=1><i> Taille max 1 Mo</i></font></td>
       
</tr>  
 ----------------------
Et maintenant le script php qui est appelé par le formulaire :
 
<table border=0 cellspacing=0 vcellpadding=0 align=center width=90%>
             <tr>
                <td class=corps>              <!-- contenu de la page -->
         <?php
           if(!$connexion=mysql_connect("serveur.visentin.dyndns.org","nicolas","nv080783" ))
            {
            print("<h1>Connexion au serveur MySQL impossible</h1>" );
            }
            else
            {
            mysql_select_db("site",$connexion);
            }
            #mysql_query("INSERT INTO infos(mess) VALUES('$infos')" ) or die ("erreur interne de base de donnée" );
 
            // Répertoire de stockage
            $rep_tra="/var/www/html/fichiers/travaux/";
            $rep_ap="/var/www/html/fichiers/travaux/ap/";
 
            if($userfile_size>0) {
             $savefile = $rep_tra.$userfile_name;
 
                 if (move_uploaded_file($userfile, $savefile)) { ?>
                    <b>Votre fichier a bien été enregistré !</b>
                    <BR>Nom : <?php echo($userfile_name); ?>
                    <BR>Taille : <?php echo($userfile_size); ?> octets
                    <BR>Type : <?php echo($userfile_type); ?><br><br><?php
                 } else { ?>
                    <b>Erreur d'enregistrement !</b><br><br>
                 <?php }
 
            } elseif($userfile) { ?>
                 <b>Vous n'avez pas spécifié de fichier ou le fichier est trop gros !</b><br><br>
             <?php } ?>
 
         <?php  if($userap_size>0) {
             $saveap = $rep_ap.$userap_name;
 
                 if (move_uploaded_file($userap, $saveap)) { ?>
                    <b>Votre aperçu a bien été enregistré !</b>
                    <BR>Nom : <?php echo($userap_name); ?>
                    <BR>Taille : <?php echo($userap_size); ?> octets
                    <BR>Type : <?php echo($userap_type); ?><br><br><?php
                 } else { ?>
                    <b>Erreur d'enregistrement !</b><br><br>
                 <?php }
 
            } elseif($userap) { ?>
                 <b>Vous n'avez pas spécifié d'aperçu ou l'aperçu est trop gros !</b><br><br>
             <?php } ?>
 
         <?php
            if($nom=="" or $date=="" )
             {
             echo "<center><b><img src=\"http://www.visentin.dyndns.org/fichiers/avert.gif\" border=0> Vous n'avez pas rempli les champs</b></center>";
             #exit();
             }
             else
             {
              if(!$id=="" )
              {
              mysql_query("UPDATE travaux SET nom='$nom', string_date='$string_date', date='$date', description='$description', fichier='$userfile_name', apercu='$userap_name' WHERE user='$user' AND id='$id'" );
              echo "<center><b>Votre travail a été modifié avec succès</b></center>";
              }
              else {
              mysql_query("INSERT INTO travaux(nom,string_date,date,description,user,fichier,apercu) VALUES('$nom','$string_date','$date','$description','$user','$userfile_name','$userap_name')" );
              echo  "<center><b>Votre travail a été ajouté avec succès</b></center>";
              }
             }
          ?>
 
 
          <br><br><center><a class=lienExt href="http://www.visentin.dyndns.org">> Retour à l'accueil <</a><br><a class=lienExt href="http://www.visentin.dyndns.org/prive/form_modif_info.php?user=<? echo $user?>">> Retour aux modifications d'informations personnelles <</a><br>
         <?php  if($user=="nicolas" )
            {
             echo "<a class=lienExt href=\"http://www-nico.visentin.dyndns.org/travaux.php\">> Visualiser le résultat <</a></center>";
            }
           if($user=="jerome" )
            {
            echo "<a class=lienExt href=\"http://www-je.visentin.dyndns.org/travaux.php\">> Visualiser le résultat <</a></center>";
            }
         ?>
        </td>
       </tr>
      </table>

Reply

Marsh Posté le 24-11-2003 à 18:16:36   

Reply

Marsh Posté le 24-11-2003 à 18:34:12    

opfc a écrit :

J'ai fait un formulaire permettant de rajouter des fichiers en téléchargement sur mon site, le problème, c'est que quand je spécifie un fichier de +de 1 Mo, ça ne marche pas. Le script permet d'afficher normalement les caractéristiques fichier uploadé, d'écrire son nom dans une base mysql ...
 
La partie du formulaire correspondant :
 
<tr>
        <td class=corps>Fichier joint** :</td>
         <td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"><input type="file" name="userfile"><font size=1><i> Taille max 10 Mo</i></font></td>
       
</tr>        
<tr>                <td class=corps>Aperçu joint** :</td>
        <td><input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="file" name="userap"><font size=1><i> Taille max 1 Mo</i></font></td>
       
</tr>  
 ----------------------
Et maintenant le script php qui est appelé par le formulaire :
 
<table border=0 cellspacing=0 vcellpadding=0 align=center width=90%>
             <tr>
                <td class=corps>              <!-- contenu de la page -->
         <?php
           if(!$connexion=mysql_connect("serveur.visentin.dyndns.org","nicolas","nv080783" ))
            {
            print("<h1>Connexion au serveur MySQL impossible</h1>" );
            }
            else
            {
            mysql_select_db("site",$connexion);
            }
            #mysql_query("INSERT INTO infos(mess) VALUES('$infos')" ) or die ("erreur interne de base de donnée" );
 
            // Répertoire de stockage
            $rep_tra="/var/www/html/fichiers/travaux/";
            $rep_ap="/var/www/html/fichiers/travaux/ap/";
 
            if($userfile_size>0) {
             $savefile = $rep_tra.$userfile_name;
 
                 if (move_uploaded_file($userfile, $savefile)) { ?>
                    <b>Votre fichier a bien été enregistré !</b>
                    <BR>Nom : <?php echo($userfile_name); ?>
                    <BR>Taille : <?php echo($userfile_size); ?> octets
                    <BR>Type : <?php echo($userfile_type); ?><br><br><?php
                 } else { ?>
                    <b>Erreur d'enregistrement !</b><br><br>
                 <?php }
 
            } elseif($userfile) { ?>
                 <b>Vous n'avez pas spécifié de fichier ou le fichier est trop gros !</b><br><br>
             <?php } ?>
 
         <?php  if($userap_size>0) {
             $saveap = $rep_ap.$userap_name;
 
                 if (move_uploaded_file($userap, $saveap)) { ?>
                    <b>Votre aperçu a bien été enregistré !</b>
                    <BR>Nom : <?php echo($userap_name); ?>
                    <BR>Taille : <?php echo($userap_size); ?> octets
                    <BR>Type : <?php echo($userap_type); ?><br><br><?php
                 } else { ?>
                    <b>Erreur d'enregistrement !</b><br><br>
                 <?php }
 
            } elseif($userap) { ?>
                 <b>Vous n'avez pas spécifié d'aperçu ou l'aperçu est trop gros !</b><br><br>
             <?php } ?>
 
         <?php
            if($nom=="" or $date=="" )
             {
             echo "<center><b><img src=\"http://www.visentin.dyndns.org/fichiers/avert.gif\" border=0> Vous n'avez pas rempli les champs</b></center>";
             #exit();
             }
             else
             {
              if(!$id=="" )
              {
              mysql_query("UPDATE travaux SET nom='$nom', string_date='$string_date', date='$date', description='$description', fichier='$userfile_name', apercu='$userap_name' WHERE user='$user' AND id='$id'" );
              echo "<center><b>Votre travail a été modifié avec succès</b></center>";
              }
              else {
              mysql_query("INSERT INTO travaux(nom,string_date,date,description,user,fichier,apercu) VALUES('$nom','$string_date','$date','$description','$user','$userfile_name','$userap_name')" );
              echo  "<center><b>Votre travail a été ajouté avec succès</b></center>";
              }
             }
          ?>
 
 
          <br><br><center><a class=lienExt href="http://www.visentin.dyndns.org">> Retour à l'accueil <</a><br><a class=lienExt href="http://www.visentin.dyndns.org/prive/form_modif_info.php?user=<? echo $user?>">> Retour aux modifications d'informations personnelles <</a><br>
         <?php  if($user=="nicolas" )
            {
             echo "<a class=lienExt href=\"http://www-nico.visentin.dyndns.org/travaux.php\">> Visualiser le résultat <</a></center>";
            }
           if($user=="jerome" )
            {
            echo "<a class=lienExt href=\"http://www-je.visentin.dyndns.org/travaux.php\">> Visualiser le résultat <</a></center>";
            }
         ?>
        </td>
       </tr>
      </table>


 
La taille maximale pour uploader un fichier est fixée dans le phpini, c'est donc du côté de l'hebergeur que se situe ton problème.

Reply

Marsh Posté le 24-11-2003 à 18:42:10    

En l'occurrence l'hébergeur c'est moi donc ça ne va pas poser problème. Le top serait que tu puisse me dire quel paramêtre je dois modifier :).
En tout cas, merci bien.

Reply

Marsh Posté le 24-11-2003 à 19:10:35    

Voila, j'ai modifié la taillé max des fichiers uploadé (par défaut 2 M):
; Maximum allowed size for uploaded files.
upload_max_filesize = 10M
Mais ça ne marche toutjours pas.

Reply

Marsh Posté le 24-11-2003 à 19:26:53    

oh là là... Regarde un peu le code que tu as posté, la réponse se trouve à la troisième ligne.
 
Et ne reviens plus ici poser tes questions, car prendre des scripts qui ne sont pas de toi et venir avec rêgler tes problèmes avec n'a rien à faire ici. On répond à ceux qui font leurs scripts.

Reply

Marsh Posté le 24-11-2003 à 21:26:05    

Rolalala... heuresement que c'est pas le site d'une boite!
http://bin0.free.fr/images/01.PNG
 
Enléve le login et mdp, sinon je donne pas cher de ton site (voir hd....)

Reply

Marsh Posté le 24-11-2003 à 22:26:57    

letouriste a écrit :

Rolalala... heuresement que c'est pas le site d'une boite!
http://bin0.free.fr/images/01.PNG
 
Enléve le login et mdp, sinon je donne pas cher de ton site (voir hd....)


 
Ouai je sais quand j'ai mis ce post j'étais carrément dans la lune, d'ailleur si c'est possible de le supprimer je le ferais bien. Mais bon, je vous remercie de pas avoir fais de dégat ;) le temps que je change mes mdp.

Reply

Marsh Posté le 24-11-2003 à 22:54:13    

Hermes le Messager a écrit :

oh là là... Regarde un peu le code que tu as posté, la réponse se trouve à la troisième ligne.
 
Et ne reviens plus ici poser tes questions, car prendre des scripts qui ne sont pas de toi et venir avec rêgler tes problèmes avec n'a rien à faire ici. On répond à ceux qui font leurs scripts.


 
Excuse moi, mais si tu regarde bien, en 3eme ligne de mon formulaire, j'ai bien spécifier une taille maximale de 10 Mo (10000000 octets environ= 10 Moctets chez moi).
 
C'es tvrai tu as raison, ce script ce n'est pas moi qui l'est fait et alors, ça te gene ? je l'ai trouvé en telechargement sur un site. Si il est en téléchargement, je pense que c'est pour que d'autres personnes puissent le réutiliser, et puis je suis pas fort en programmation, donc je fais comme je peux, et si maintenant on se fait envoyer chier parce qu'on pose une question sur un forum à propos d'un script qu'on a récupérais (légalement), mais ou va-t-on ?

Reply

Marsh Posté le 24-11-2003 à 23:04:42    

opfc a écrit :


 
Excuse moi, mais si tu regarde bien, en 3eme ligne de mon formulaire, j'ai bien spécifier une taille maximale de 10 Mo (10000000 octets environ= 10 Moctets chez moi).
 
C'es tvrai tu as raison, ce script ce n'est pas moi qui l'est fait et alors, ça te gene ? je l'ai trouvé en telechargement sur un site. Si il est en téléchargement, je pense que c'est pour que d'autres personnes puissent le réutiliser, et puis je suis pas fort en programmation, donc je fais comme je peux, et si maintenant on se fait envoyer chier parce qu'on pose une question sur un forum à propos d'un script qu'on a récupérais (légalement), mais ou va-t-on ?


 
alors je vais t'expliquer.
 
Si on tolère ça, tous les mecs qui installent un phpbb, un phpnuke, un compteur, un livre d'or ou n'importe quoi d'autre, viendront poser leurs questions ici pour qu'on débugge leurs scripts et ce n'est pas acceptable. c'est une section PROGRAMMATION ici. Si tu rencontres un problème avec tel ou tel logiciel, tu vas pas venir ici sous prétexte qu'il est en C, C++ ou JAVA ? Ben c'est pareil pour le PHP.

Reply

Marsh Posté le 24-11-2003 à 23:07:43    

opfc a écrit :


 
Excuse moi, mais si tu regarde bien, en 3eme ligne de mon formulaire, j'ai bien spécifier une taille maximale de 10 Mo (10000000 octets environ= 10 Moctets chez moi).
 
 


 
Ouai, mais dans le code que tu as posté, ya : 1000000, ce qui équivaut à 1 Mo.

Reply

Marsh Posté le 24-11-2003 à 23:07:43   

Reply

Marsh Posté le 24-11-2003 à 23:12:14    

Alors excuse moi, je croyais juste qu'un forum c'était pour s'entre-aider. Je sais que ma question peut paraître conne pour les gens qui maîtrise PHP (comme toi je pense), mais moi je sais pas comment résoudre mon problème.  
Perso, quand je maîtrise un sujet dans un forum, je suis heureux d'aider les gens qui ont vraiment du mal avec, même si leur question peut paraître conne. Il faut bien les aider les pauvres débutants.
 
Bon ben alors je vais chercher tout seul, en espérant qu'un jour je trouverais la solution ;)

Reply

Marsh Posté le 24-11-2003 à 23:14:34    

opfc a écrit :

Alors excuse moi, je croyais juste qu'un forum c'était pour s'entre-aider. Je sais que ma question peut paraître conne pour les gens qui maîtrise PHP (comme toi je pense), mais moi je sais pas comment résoudre mon problème.  
Perso, quand je maîtrise un sujet dans un forum, je suis heureux d'aider les gens qui ont vraiment du mal avec, même si leur question peut paraître conne. Il faut bien les aider les pauvres débutants.
 
Bon ben alors je vais chercher tout seul, en espérant qu'un jour je trouverais la solution ;)


 
Tu as lu le deuxième message au moins ?  :sarcastic:  
 
Et pas la peine de venir pleurer, il n'y a aucune raison pour qu'on fasse une exception avec toi (note que je t'aide quand même ce que je ne devrais même pas faire).

Reply

Marsh Posté le 24-11-2003 à 23:23:42    

Ben moi je veux bien te croire mais en faisant un copier coller du code, en troisième ligne j'ai bien MAX_FILE_SIZE=10000000
 
<tr>
        <td class=corps>Fichier joint** :</td>
         <td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"><input type="file" name="userfile"><font size=1><i> Taille max 10 Mo</i></font></td>
       
</tr>        
<tr>                <td class=corps>Aperçu joint** :</td>
        <td><input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="file" name="userap"><font size=1><i> Taille max 1 Mo</i></font></td>
       
</tr>

Reply

Marsh Posté le 24-11-2003 à 23:42:40    

opfc a écrit :

Ben moi je veux bien te croire mais en faisant un copier coller du code, en troisième ligne j'ai bien MAX_FILE_SIZE=10000000
 
<tr>
        <td class=corps>Fichier joint** :</td>
         <td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"><input type="file" name="userfile"><font size=1><i> Taille max 10 Mo</i></font></td>
       
</tr>        
<tr>                <td class=corps>Aperçu joint** :</td>
        <td><input type="hidden" name="MAX_FILE_SIZE" value="1000000"><input type="file" name="userap"><font size=1><i> Taille max 1 Mo</i></font></td>
       
</tr>


 
Et alors, tu donnes le même nom à tes deux input hidden à la suite... D'après toi dans la page de traitement, quel nom va être gardé ? le premier ou le dernier ?  :sarcastic:


Message édité par Hermes le Messager le 24-11-2003 à 23:46:08
Reply

Marsh Posté le 25-11-2003 à 22:33:44    

en virant les input hidden, j'ai toujours le même problème, j'obtiens une page impossible d'affichier la page sur IE6

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed