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

Statut
N'est pas ouverte pour d'autres réponses.
A

Anon0A

ex membre
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
 
<?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... =]
 
1er
OP
A

Anon0A

ex membre
Merci déjà :D
 

KAMI

spim spam spoum
<?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... =]
Boaf pas tellement en fait... remplacer le for par un while sinon je vois pas grand chose d'autre.
 

ozilrit

Elite
Et pourtant.. le fichier est réouvert à chaque itération.
 

KAMI

spim spam spoum
Et pourtant.. le fichier est réouvert à chaque itération.
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 ?
 

eGm_

Gibon Blasé
<?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...
 
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é. =]
 

ozilrit

Elite
<?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. =]
 

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.
 
1er
OP
A

Anon0A

ex membre
merci beaucoup :) v
 
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);

?>
 

Nmy

Touriste
<?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...
qd je vois je sais pq j aime python
 

ozilrit

Elite
..ou pourquoi tu n'aimes pas la syntaxe C-style.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut