PHP : généré tous les nombre entre 1 et 1000

Discussion dans 'Web, design' créé par 0megear, 21 Février 2009.

Statut de la discussion:
Fermée.
  1. Offline
    0megear CHAROGNARD
    Salut,
    je n'ai presques aucunes connaissance en php mais je cherche un petit script qui permet de généré tous les nombres entre 1 et 1000 puis qu'il les écrivent dans un fichier log.txt avec a chaque fois un retour a la ligne.

    1
    2
    3
    4
    ... etc
    1000


    D'avance merci si vous pouvez m'aider ! :-9
    0megear, 21 Février 2009
    #1
  2. Offline
    SeigVoland Elite
    <?php
    for ($i=1 ; $i<=1000 ; $i++)
    {
    $fp = fopen('log.txt', 'a');
    fprintf($fp, $i."\n");
    }
    ?>

    Sûrement moyen de faire mieux que ça mais bon... =]
    SeigVoland, 21 Février 2009
    #2
  3. Offline
    0megear CHAROGNARD
    Merci déjà :D
    0megear, 21 Février 2009
    #3
  4. Offline
    KAMI spim spam spoum
    Boaf pas tellement en fait... remplacer le for par un while sinon je vois pas grand chose d'autre.
    KAMI, 21 Février 2009
    #4
  5. Offline
    ozilrit Touriste
    Et pourtant.. le fichier est réouvert à chaque itération.
    ozilrit, 21 Février 2009
    #5
  6. Offline
    KAMI spim spam spoum
    Et non fermé en fin de programme je viens de tilter.

    Donc quoi créer un tableau à 1000 entrées (0-999) le remplir à chaque itération avec le string suivant "$i \n" puis dans un for parcourir le tableau mais on va à nouveau avoir le prob d'ouvrir le fichier à chaque itération ou alors une écriture du tableau complet résoud le problème ?
    KAMI, 21 Février 2009
    #6
  7. Online
    eGm_ Guinea Trump
    <?php

    $fp = fopen('log.txt', 'w');

    for ($i=1 ; $i<=1000 ; $i++)
    {
    fprintf($fp, $i."\n");
    }

    fclose($fp);

    ?>

    Sûrement moyen de faire mieux que ça mais bon...
    eGm_, 21 Février 2009
    #7
  8. Offline
    SeigVoland Elite
    heu oui évidemment, le fopen pas dans la boucle... :pfiou::-D et un petit fclose d'oublié. Ca fait pas mal de temps que je n'ai pas programmé. =]
    SeigVoland, 21 Février 2009
    #8
  9. Offline
    ozilrit Touriste
    <?php
    $fp = fopen('log.txt', 'w');

    fwrite($fp, implode("\n", range(1, 1000, 1)));

    fclose($fp);
    ?>

    ou :

    <?php
    $fp = fopen('log.txt', 'w');

    for($i=1; $i<1001; i++)
    $data .= $i."\n";

    fwrite($fp, $data);

    fclose($fp);
    ?>

    Rien n'est testé m'enfin.. vla l'idée. =]
    ozilrit, 21 Février 2009
    #9
  10. Offline
    PiaFlalCoOl NiuAge
    Vu les accès disque sont très lents (tout est relatif), la version d'Olzirit est bien plus performante que les précédentes jpense.
    PiaFlalCoOl, 21 Février 2009
    #10
  11. Offline
    0megear CHAROGNARD
    merci beaucoup :) v
    0megear, 22 Février 2009
    #11
  12. Offline
    SeigVoland Elite
    Utilise plutôt comme suggéré par ozilrit :

    <?php

    $fp = fopen('log.txt', 'w');

    for($i=1; $i<1001; $i++)

    $data .= $i."\n";

    fwrite($fp, $data);

    fclose($fp);

    ?>
    SeigVoland, 22 Février 2009
    #12
  13. Offline
    Nmy Touriste
    qd je vois je sais pq j aime python
    Nmy, 25 Février 2009
    #13
  14. Offline
    ozilrit Touriste
    ..ou pourquoi tu n'aimes pas la syntaxe C-style.
    ozilrit, 26 Février 2009
    #14
Statut de la discussion:
Fermée.