- Home
- Przykłady i porady PHP79
- Inne pomoce, software6
- Banery
- Hyde Park Private Zone6
- Polityka cookies
- Udostępnianie tekstów
© 2001 - 2024 PhpCodex
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($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane."\n");
// odblokowujemy plik
flock($fp, 3);
// 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"