Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] obsługa bazy opartej na plikach
neverever
post 7.05.2008, 13:00:41
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

Ostrzeżenie: (10%)
X----


Wiadomo że najwygodniejszy i najwydajniejszy sposób przechowywania i przetwarzania danych to bazy danych jak np mysql.

Niestety muszę przerobić pewną strone tak by dane przechowywała w pliku/plikach.

Dlatego mam pytanie.
W jakiej formie lepiej trzymać taką plikową baze? xml, cvs, txt?
No i jeszcze, czy możecie polecić jakiś dobry skrypt/api do obsługi takiej plikowej bazy
-chodzi o odczyt, zapis, wyszukiwanie, wybieranie itp. dobrze by bała jak największa funkcjonalność zbliżona do mysql - na ile to możliwe.

Sam wcześniej nie miałem z czyms takim doczynienia, nie miałem takiej potrzeby.
Znalazłem w sieci tylko coś w stylu php-txt-db-api-0.3.1-Beta-01.zip - ale to tylko jakaś beta z 2005tego.

Ten post edytował neverever 7.05.2008, 13:01:17


--------------------
neverever
Go to the top of the page
+Quote Post
sniezny_wilk
post 7.05.2008, 13:07:43
Post #2





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Taka robota jest bez sensu, a ile wstawianie wartości do pliku jest proste, tak modyfikacje rekordu gdzieś w środku już nie, jeśli chciałbyś napisać własną bazę o zbliżonej funkcjonalności do MySQL to szczerze odradzam, szybciej chyba będzie napisać stronę od nowa z MySQL. Jeśli mogę zapytać: czemu nie możesz skorzystać z MySQL'a ?


--------------------
Go to the top of the page
+Quote Post
Pilsener
post 7.05.2008, 13:32:56
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Płacą za pliki to robisz na plikach, chcą na plikach to dajesz im pliki. Tu masz tutorial o tekstowych bazach danych:
forumweb.pl/viewtopic.php?t=39103

Pliki też mają swoje zalety, aczkolwiek do tworzenia relacyjnych baz danych nie bardzo się nadają - ale to akurat każdy wie i nie widzę potrzeby tego rozstrząsać. Życzę powodzenia w walce z plikami.
Go to the top of the page
+Quote Post
neverever
post 7.05.2008, 14:39:35
Post #4





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

Ostrzeżenie: (10%)
X----


Cytat(Pilsener @ 7.05.2008, 14:32:56 ) *
Płacą za pliki to robisz na plikach, chcą na plikach to dajesz im pliki. Tu masz tutorial o tekstowych bazach danych:
forumweb.pl/viewtopic.php?t=39103

Pliki też mają swoje zalety, aczkolwiek do tworzenia relacyjnych baz danych nie bardzo się nadają - ale to akurat każdy wie i nie widzę potrzeby tego rozstrząsać. Życzę powodzenia w walce z plikami.

Dokładnie. Musi być na plikach, bo tak sobie facet umyśli i go za nic nie przegada. sciana.gif
Coś takiego jak w podanym tutorialu posiadam i kiedyś nawet wykorzystywałem ale... dry.gif
Co więcej, nie potrzebuję obsługi relacji, wystarczy nieco bardziej zaawansowana obsługa bazy płaskiej.

Pytam, bo może ktoś się już spotkał z jakimś gotowym, dobrym rozwiązaniem dla takiej bazy.
Nie musi to być koniecznie oparte o plik stricte tekstowy (txt,cvs,xml), może to być np. plik accesa mdb, mdbx albo jakiś inny.
Ważne by był do obsługi tego jakś dobry skrypt php.

Ten post edytował neverever 7.05.2008, 14:42:28


--------------------
neverever
Go to the top of the page
+Quote Post
sniezny_wilk
post 7.05.2008, 14:44:49
Post #5





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Ja zawsze wybijam takie pomysł z głowy zamawiającym.. ale jak chcesz baw się dobrze smile.gif powodzenie w przechowywaniu loginów i haseł, lub kilku tysięcznych danych i przetwarzaniu ich..


--------------------
Go to the top of the page
+Quote Post
piotrooo89
post 7.05.2008, 16:44:08
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Nie możesz mu powiedzieć ze to jest porostu nie zgodne ze standardami i nie praktykuje sie takich rzeczy. Zaciukasz się przy tych plikach.


--------------------
Go to the top of the page
+Quote Post
Sabistik
post 7.05.2008, 16:49:20
Post #7


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Najprościej zastosować SQLite" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
bl4ck_b0x
post 7.05.2008, 21:08:16
Post #8





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 21.11.2006

Ostrzeżenie: (0%)
-----


proponuję skorzystać z tego (txtdb):

http://txtdb.strefaphp.net/

powodzenia winksmiley.jpg
Go to the top of the page
+Quote Post
cbagov
post 8.05.2008, 00:06:28
Post #9





Grupa: Zarejestrowani
Postów: 181
Pomógł: 18
Dołączył: 19.04.2008

Ostrzeżenie: (10%)
X----


SQLite jest niezle, textdb wyglada niezle, nie znalem tego, obejrze sobie.
Mozesz tez napisac sam, zajmie ci kilka dni jesli jestes obcykany w php i wyrazeniach regularnych.
Dla serwerow bez SQL mam jednak wlasny system w samodzielnie parsowanym xml + obsluga szablonow.
Posiada oczywiscie dodawanie i usuwanie, kategorie, grupy i inne.
Mozna CVS, txt czy cokolwiek.
Kwestia czy chcesz tylko uzywac i liczy sie czas, czy oprzec o to cos wiekszego i bawic sie rozbudowa.
Go to the top of the page
+Quote Post
PiXel2.0
post 8.05.2008, 01:36:20
Post #10





Grupa: Zarejestrowani
Postów: 110
Pomógł: 13
Dołączył: 16.03.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dla ulatwienia dane mozna sobie trzymac w tablicach aby latwiej na nich operowac i przy odczycie i zapisie stosowac serialize() oraz unserialize() smile.gif

Napisalem taka prosta klase:
  1. <?php
  2.  
  3. class baza{
  4. private $file_name;
  5. private $data;
  6.  
  7. public function __construct($file_name){
  8. $this->file_name = $file_name;
  9. if(file_exists($this->file_name)){
  10. $content = file($this->file_name);
  11. $this->data = unserialize($content[2]);
  12. }else
  13. $this->data = array();
  14. }
  15. public function get_data(){
  16. return $this->data;
  17. }
  18. public function set_data($data){
  19. if(is_array($data)){
  20. $this->data = $data;
  21. return true;
  22. }
  23. return false;
  24. }
  25. public function write_data(){
  26. $data_string = serialize($this->data);
  27. $content = "<?php\n/*\n{$data_string}\n*/\n?>";
  28. $file = fopen($this->file_name, 'w');
  29. flock($file, LOCK_EX);
  30. fwrite($file, $content);
  31. flock($file, LOCK_UN);
  32. fclose($file);
  33. }
  34. }
  35.  
  36. ?>


Zaleta jest tez to, ze nikt z zewnatrz nie bedzie mogl odczytac danych wiec mozna bezpiecznie trzymac hasla.

Ten post edytował PiXel2.0 8.05.2008, 01:37:11
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 03:56