phpbar.de logo

Mailinglisten-Archive

[php] verzweiflung

[php] verzweiflung

Jomo Aykay php_(at)_phpcenter.de
Fri, 31 Aug 2001 12:50:09 +0200


>Hallo Jomo,
>
>folgendes funzt bei mir super:
>
><=3F
>$anzahl =3D 1000;
>while ($anzahl > 0) {
> $list =3D file("test.inc.php");
> $anzahl =3D sizeof($list); // die anzahl der elemente dieses arrays
> echo $anzahl."<br>";
> mt=5Fsrand ((float) microtime() * 10100100);
> $line =3D mt=5Frand(0,($anzahl-1));
> $hostname =3D rtrim($list[$line]);
> unset ($list[$line]);
> $templist =3D implode ("", $list);
> $lt =3D fopen("test.inc.php","w+");
> if ($lt){
> fwrite($lt, $templist);
> fclose ($lt);
> }
>}
>=3F>
>
>Die einzigen Unterschiede sind die Anf=FChrungszeichen bei der
>file()-Anweisung und die Schleife. Vielleicht hilft Dir diese Einschr=E4=
nkung
>weiter.


hmm, ich weiss nicht, ich glaube das problem liegt mehr an den datenfile=
s
oder dem abspeichervorgang, vielleicht an den trennzeichen=3F das anzahl=

checken funkt (glaube ich)...

das erste was mir auff=E4llt, ist, wenn ich in dem textfile zb 9 URL-
eintraege habe (und zwar nach dem unset), ergibt ein echo $anzahl (also
ein sizeof), nach dem unset 10, also eins mehr als da ist - das verstehe=

ich nicht.

wenn man sich dann das textfile genauer ansieht, dann ist manchmal nach
dem unset nicht die ganze URL samt zeile weg, sondern manchmal nur die
URL, die zeile existiert aber als leerzeile (bzw. leereintrag weiter).
und dann schnappt er sich manchmal gleich zwei eintraege weg, statt nur
einem...dann shceints wieder ein paar mal zu gehen, dann schnappt er sic=
h
wieder mehrere zeilen...


<durchdreh>










php::bar PHP Wiki   -   Listenarchive