Tabela 10 najlepszych graczy.

'; echo "MiejsceNazwaPunkty\n"; // sciezka do wynikow (koniecznie do wymiany!) $dir = 'wyniki'; // tajne haslo (koniecznie do wymiany!) $pass = 'PeNtAl'; // maksymalna ilosc rekordow (najczesciej jest to 10) $max = 10; // nazwa pliku z wynikami (do wymiany) $fname = 'wyniki.txt'; $text = ''; // jesli plik z wynikami nie istnieje, tworzymy go i wypelniamy :) $fname = $dir . '/' . $fname; if ( !file_exists( $fname ) ) { $file = fopen( $fname, 'w' ); for( $i = 0; $i < $max; $i++ ) fwrite( $file, "\nnikt\n0" ); // cudzyslowy uzyte ze wzgledu na parser '' fclose( $file ); } // wczytanie tabeli $file = fopen( $fname, 'r' ); fgets( $file ); for( $i = 0; !feof( $file ); $i++ ) { $n[$i] = rtrim( fgets( $file ) ); $s[$i] = ( int )rtrim( fgets( $file ) ); } // dodawanie rekordu if ( isset( $_GET[ 'add' ] ) ) { // stworzenie hasha - w PHP mamy gotowa funkcje :) $hash = $_GET[ 'nick' ] . $_GET[ 'score' ] . $pass; $hash = md5( $hash ); if ( $hash == $_GET[ 'code' ] && !( file_exists( $dir . '/' . $hash ) ) ) { // jesli hash jest poprawny, jestesmy tutaj :) $sc = ( int )$_GET[ 'score' ]; if ( ( $sc ) && ( $sc > $s[$max - 1] ) ) { // gratulacje, dostales sie do tabeli najlepszych :) ! $text = 'Gratulacje, ' . $_GET[ 'nick' ] . '. Twój wynik zostal dodany!'; fclose( fopen( $dir . '/' . $hash, 'w' ) ); for( $i = $max - 2; $i >= 0; $i-- ) { if ( ( $s[$i] >= $sc ) || ( !$i && $sc >= $s[0] ) ) { if ( ( $i ) || ( !$i && $sc <= $s[0] ) ) $i++; for( $j = $max - 1; $j > $i; $j-- ) { $s[$j] = $s[$j - 1]; $n[$j] = $n[$j - 1]; } $s[$i] = $sc; $n[$i] = $_GET[ 'nick' ]; break; } } } } else $text = 'Nie udalo się dodać wyniku!'; } // wyswietlanie tabeli for( $i = 0; $i < $max; $i++ ) { echo '' . ( string )( $i + 1 ) . '.'; echo $n[$i] . ''; echo ( string )$s[$i] . "\n"; } $out = ""; for( $i = 0; $i < $max; $i++ ) $out .= "\n" . $n[$i] . "\n" . ( string )$s[$i]; file_put_contents( $fname, $out ); // wiadomosc :) echo '
' . $text . ''; ?>