Sterownik operujący na plikach

Zgodnie z obietnicą publikuję sterownik do ShoutBox zapisujący dane nie jak do tej pory w bazie MySql, ale w pliku txt. Mam nadzieję, że będzie dobrze wam służyć. Nowy sterownik jest do ściągnięcia w paczce ver. 1.1. Pojawiły się tam też drobne zmiany w klasie oraz skrypcie js.

Podłączenie nowego sterownika jest banalnie proste. Wystarczy wykonać 3 następujące kroki:

1) Należy includować plik ze sterownikiem. Zamiast jak do tej pory:

<?php
require_once('ShoutBoxDBMysql.class.php');
?>

należy napisac:

<?php
require_once('ShoutBoxDBTxt.class.php');
?>

2) stworzyć obiekt nowego sterownika

<?php
//tak bylo
//$dbd = new ShoutBoxDBMysql();
//$dbd->SetExtraUser('ShoutBoxUser', 'ID', array('COLOR'=>'COLOR'));
	
//tak ma byc - sterownik TXT
$dbd = new ShoutBoxDBTxt('shoutbox.txt');
?>

3) Wykomentować zbędny kawałek wyświetlający błędy ze sterownika MySql. Nowy sterownik nie posiada tej właściwości

<?php
//if ($dbd->Error)
//trigger_error($dbd->Error);
?>
I już.

Z racji, iż nowy sterownik nie operuje na bazie MySql, wyłączyłem z niego integrację z tabelą użytkowników, co wydaje się logiczne. W załączonym przykładzie użytkownicy będą mieli tylko czarny kolor, nawet jeśli określą go sobie inny. Można jednak zrobić ich kolorowych. Wystarczy, że np. zapamiętacie kolor użytkownika w sesji, wówczas możecie przekazać go do sterownika, np. tak:

<?php
$dbd->Color = $_SESSION['color'];
?>
i już mamy kolorowo.

Ponieważ zapis danych odbywa się na pliku, należy zapobiec nadpisywaniu danych przez różnych użytkowników. Można tu było zastosować flock(), ja jednak tego nie użyłem chociażby dlatego, że pod windą to nie zabardzo działa. Zamiast tego tworzę plik z rozszerzeniem .lck gdy operuję na pliku. Jest to informacja dla innych żądań, iż plik jest tymczasowo zablokowany. Po skończeniu operacji na pliku, plik z rozszerzeniem .lck jest kasowany. Gdyby kiedyś pojawiŁ wam się na dłużej na serwerze taki plik, usuńcie go, gdyż coś nieoczekiwanego musiało się stać (raczej nie powinno) i ShoutBox może być zablokowany.

Kolejną zmianą w tym sterowniku jest przechowywanie tylko określonej liczby wiadomości. Liczbę te określa właściwość $MaxCountMessages. Lepiej żeby w pliku nie było za dużo wiadomości, gdyż spowolniłoby to ShoutBox.

Z ogólnych rzeczy to tyle. Zapraszam do testowania i zgłaszania ewentualnych uwag.

Komentarze

 

Dodaj komentarz

 

Dostępne bbcode: b, u, i, url, code, php, css, html, sql, js

Ostatnio komentowane

  1. Mysql - FAQ Paweł
  2. Pager 2.5.1 oraz EPa... Na szybko2
  3. Pager 2.5.1 oraz EPa... Sławek
  4. Mysql - FAQ Piotr
  5. Liczba dni roboczych Na szybko2
  6. Liczba dni roboczych Naszybko
  7. Klasa widoku nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer