IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fatal error: Allowed memory size of...


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Fatal error: Allowed memory size of...
    Bonjour,

    Je rencontre un problème bien #@*'!... lors de l'execution du script chez free.


    voici mon code d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 4063497 bytes)
    et voici pour ceux que ça interesse le code ( que vous pouvez critiquer au passage ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function makeDate() {
     
     $day=date("d");
     $month=date("n");
     $year=date("Y");
     // Mise en forme des jours
     $res="<td><select>";
     
     for ( $i=01; $i<=31; $i++ ) {
      if ( $day == $i ) {
       $res.=$res."<option selected>".$i."</option>\n";
      }
      else {
       $res.=$res."<option>".$i."</option>\n";    
      }
     }
     // Mise en forme des mois
     $res.="</select></td><td><select>";
     $tabMonth=array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
     for ( $i=1; $i<=12; $i++) {
      if ( $i == $month ) {
       $res.="<option selected>".$tabMonth[$i-1]."</option>";
      }
      else {
       $res.="<option>".$tabMonth[$i-1]."</option>";
      }  
     }
     
     // Mise en forme des années
     $res.="</select></td><td><option selected>".$year."</option>";
      for ( $i=$year+1; $i< $year+4; $i++) {
       $res.="<option>".$i."</option>";
      }
     $res.="</select></td>";
     
     return $res;
     } 
    ?>
    Si vous avez une solution, Merci !

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    En attendant, ma solution est de remplacer toute les concaténations par des echo... bon je sais, c'est vraiment pas propre mais je vois pas

  3. #3
    Membre habitué Avatar de tony montana
    Profil pro
    Inscrit en
    Février 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 114
    Points : 136
    Points
    136
    Par défaut
    salut,
    ton problème vient de la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res.=$res."<option selected>".$i."</option>\n";
    tu concatène 2 fois $res ! Une fois avec l'opérateur ".=" et la 2eme fois en mettant $res à droite du ".=" ...
    donc remplace ce code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res.="<option selected>".$i."</option>\n";
    ca marchera mieux
    (tu as fait cette erreur à 2 endroits)

    ensuite évite d'initialiser $i à 01, mieux vaut l'initialiser à 1 vu que c'est un entier ca revient au même ...
    et donc au lieu de récupérer le jour sur 2 chiffres avec date("d"), récupère le sur 1 chiffre ou 2 (1 chiffre pour les jours de 1 à 9 ...) avec date("j")

    enfin tu oublie le "<select>" pour la liste des années .

    Voila le code modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function makeDate() {
     
     $day=date("j");
     $month=date("n");
     $year=date("Y");
     // Mise en forme des jours
     $res="<td><select>";
     
     for ( $i=1; $i<=31; $i++ ) {
      if ( $day == $i ) {
       $res.="<option selected>".$i."</option>\n";
      }
      else {
       $res.="<option>".$i."</option>\n";   
      }
     
     }
     // Mise en forme des mois
     $res.="</select></td><td><select>";
     $tabMonth=array("Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
     
     for ( $i=1; $i<=12; $i++) {
      if ( $i == $month ) {
       $res.="<option selected>".$tabMonth[$i-1]."</option>";
      }
      else {
       $res.="<option>".$tabMonth[$i-1]."</option>";
      } 
     }
     
     // Mise en forme des années
     $res.="</select></td><td><select><option selected>".$year."</option>";
      for ( $i=$year+1; $i< $year+4; $i++) {
       $res.="<option>".$i."</option>";
      }
     $res.="</select></td>";
     
     return $res;
     }

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Mais bien sur!
    merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Images] Galerie photo (Fatal error: Allowed memory size)
    Par Dookie dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 25/05/2010, 12h13
  2. [PEAR][Mail] Fatal Error : Allowed memory size of 8388608 bytes exhausted
    Par bigben89 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 20/10/2008, 18h01
  3. [Tableaux] fatal error: allowed memory size
    Par kynri dans le forum Langage
    Réponses: 8
    Dernier message: 03/10/2007, 19h35
  4. Réponses: 3
    Dernier message: 08/08/2007, 19h08
  5. [Librairies] zip.lib.php Fatal error: Allowed memory size of 8388608 bytes exhausted
    Par manaboko dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 22/05/2006, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo