Mailinglisten-Archive |
>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