Tworzymy własną baze danych na plikach tekstowych

How to create text file database

Przykład PHP2014-03-07 stopień trudności: łatwy

Żyjemy w czasach gdy w naszym kraju jeszcze nie każdego stać na utrzymanie konta mysql na serwerze, poniższy przykład pokazuje w uproszczony sposób jak nie być gorszym i stworzyć własną niezależną bazę danych.


Przykładowy uproszczony formularz:


<form method="post" action="skrypt.php">

<label for="imie">imie:</label><br/>
<input type="text" size="40" name="imie"><br/>

<label for="nazwisko">nazwisko:</label><br/>
<input type="text" size="40" name="nazwisko"><br/>

<label for="telefon">telefon:</label><br/>
<input type="text" size="40" name="telefon"><br/>

<label for="adres">adres:</label><br/>
<input type="text" size="40" name="adres"><br/><br/>

<input type="submit" value="wyślij"><br/>
</form>


Przykład zapisu w formie uproszczonej, jeśli chcesz umieszczać formularz na zewnątrz musisz go odpowiednio zabezpieczyć:


<? 
if (isset($_POST['imie'
])) { 

$imie str_replace("|","",$_POST['imie'
]); 
$nazwisko str_replace("|","",$_POST['nazwisko'
]); 
$telefon str_replace("|","",$_POST['telefon'
]); 
$adres str_replace("|","",$_POST['adres'
]); 

//tworzymy ciąg do zapisu 
$dane "$imie||$nazwisko||$telefon||$adres"


$dane str_replace("\n","",$dane
); 

//nasz plik 
$file "adresy.txt"

//otwieramy do dopisania 
$fp fopen($file"a"
); 
// blokujemy plik do zapisu 
flock($fp2
); 
// zapisanie danych do pliku 
fwrite($fp$dane."\n"
); 
// odblokowujemy plik 
flock($fp3
); 
// zamykamy plik 
fclose($fp
); 


?> 


plik tekstowy będzie przykładowo wyglądał tak (adresy.txt), dane podzielone separatorami:
ustaw prawa chmod dla pliku na 666, o prawach przeczytasz tutaj


Jan||Kowalski||7563724||ul.Cicha 1
Piotr||Dziwny||7534724||ul.Pusta 6


...i bierzemy się za odczytywanie zgromadzonych danych:


<?
$fp 
fopen("adresy.txt""r"
);

//pobieramy poszczególne linie w pętli
while ($current_line fgets($fp
)) {
//tworzymy tablicę rozbijając linie na operatorach ||
$element explode("||",$current_line
);
//i wyświetlamy
echo"imie: $element[0],nazwisko: $element[1],telefon: $element[2],adres: $element[3]<br/>\n"
;
}

fclose($fp
);
?>


...i tak baza danych nam niepotrzebna, oczywiście to prosty przykład, jeśli chcesz myśleć o dużej ilości danych dziel je np. w/g liter w wielu plikach, i oczywiście twórz kopie zapasowe.


czytaj również: "Bazy tekstowe-przechowywanie danych"


 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.