Mailinglisten-Archive |
Hallo!
Jan Harjes wrote:
> $x=fopen($news_file,"r");
> $newsdata= chop(fgets($x,1500));
> while (!feof($x)) {
> if (strlen($newsdata)>0 ){
>
> $newsdata = trim($newsdata);
> $daten = explode("``x",$newsdata);
>
> if ($daten[0]==$autor) {
> usw...
> }
> }
>
> Gibt es vielleicht eine elegantere und vorallem schnellere Lösung für mein
> Problem?
Vielleicht ein etwas anderer Ansatz! Mit der folgenden
Methode habe ich mal eine Datei ausgelesen, die mit
sicherheit größer als 400KB war. Während dessen habe
ich noch die Daten formatiert, durchsucht ect.
$a = 0;
$speichern = array();
// jede Zeile ein Element in der Array $artikel
$artikel = file($news_file);
for($i = 0; $i < count($artikel); $i++)
{
$daten = explode(":", $artikel[0]);
if($daten[0] == $autor)
{
// jede gefundene Zeile abspeichern um später
// weiter verarbeitet werden zu können
$speichern[$a] = $artikel[$i];
$a++;
}
}
Standardmäßig ist max_execution_time in der php.ini(seit PHP4)
auf 30 Sekunden eingestellt. Kann man ändern, dann bricht der
Interpreter erst später ab.
mfg, André Laugks
php::bar PHP Wiki - Listenarchive