phpbar.de logo

Mailinglisten-Archive

[php] Vorletzte Zeile einer Datei lesen

[php] Vorletzte Zeile einer Datei lesen

Sebastian Bergmann s.bergmann_(at)_seven-sense.com
Sun, 09 Jan 2000 08:15:31 +0100


Tobias Ratschiller schrieb:
> Mit fseek() dürfte das nicht so schwierig sein. Du startest am Ende der
> Datei und liest sie von rückwärts ein; wenn Du auf das zweite Zeilenende
> triffst, hörst Du auf.

Danke für den Tip, Tobias. Ich habe das jetzt wie folgt umgesetzt:

// get yesterday's rc5-64 statistics
$file = "http://stats.distributed.net/rc5-64/phistory_raw.php3?id=200999";

$i    = 2;
$temp = "";

$fp   = _(at)_fopen( $file, "r");

if( $fp )
{
  $pos = filesize( $file ) - 1;

  while( ( $pos > 0 ) && ( $i > 0 ) )
  {
    fseek( $fp, --$pos );
    $c = fread( $fp, 1 );
    $temp .= $c;

    if( $c == "\n" )
    {
      $i--;
    }
  }

  print "Yesterday I submitted " . 
         substr( strrev( $temp ), 12, strlen( $temp ) - 28 ) . 
        " blocks to distributed.net's RC5-64 contest.<br>\n";
}

Mit einer lokalen Kopie von
"http://stats.distributed.net/rc5-64/phistory_raw.php3?id=200999"
funktioniert das Skript wunderbar. Lasse ich es aber hingegen online laufen
und die URL öffnen, so bekomme ich kein Ergebnis.

Ich kann mir das nur so erklären, daß "filesize( $file )" nicht
funktioniert. Was kann ich da jetzt machen?

AHA,
Sebastian

-- 
   ___  ___  ___      ___   ___| ___  ___  __, ___   ___ 
  l___|l   '(___|___)l__/__(___|(___|(   |l___l__/__l   '
 `----'--------------------------------------------------------------- 2F -
 [ mail : gravedancer_(at)_rc5.de ]         [ site : http://gravedancer.rc5.de ]



php::bar PHP Wiki   -   Listenarchive