|
Većina free i plaćenih web hosting providera ima MySQL podršku ali što je sa onima koji nemaju. Zbog ovih koji nemaju tu podršku ja pišem ovaj tutorijal koji se radi o upravljanu tekstualnim (.txt) datotekama koje su poznate jer se njima služi Windowsov Notepad.
Na serverima koji nemaju MySQL podršku možete napraviti CMS koji će čitati stranice iz tekstualnih datoteka.
Prvo moramo stvoriti neki tekstualni file, a to ćemo napraviti ovako:Naredba za kreiranje tekstualne datoteke $fileIme="nekifajl.txt"; $fileHandle= fopen ($fileIme,'r'); fclose($fileHandle);
Sada ću vam pojasniti što pojedini dio koda radi:
$fileIme="mojfile.txt"; - jednostavno varijabli "fileIme" dodjeljujemo ime file-a koje želimo $fileHandle = fopen ($fileIme,'r'); - file handle je, važan dio. Malo kasnije ću ga detaljnije objasniti ali za sada je dovoljno reći da u varijablu "fileHandle" stavljamo funkciju fopen() kojoj je potrebno da funkcionira, dva dijela, ime file-a sa kojim radi, i drugi dio sa kojim određujemo što ćemo raditi sa tim file-om. fclose($fileHandle) - jednostavno, govorimo PHP-u da zatvori file.
Sada je PHP stvorio file pod imenom "mojfile.txt", u slučaju da taj file već postoji, PHP nebi stvorio novi
fopen() fopen je funkcija sa kojom PHP otvara određeni file. Postoji više načina. 'a' znači append i označava da ćete pisati u taj file i file pointer će biti na kraju file-a, 'r' znači read, označava da ćemo samo čitati sadržaj file-a, i da nećemo pisati 'w' znači write, označava da ćemo pisati po file-u, ali je file pointer na početku file-a, što znači da kod upisivanja novog teksta u file, tekst koji je prije bio unutra će biti pobrisan. Kako bi to izgledalo npr. $fileIme="nekifajl.txt"; $fileHandle= fopen ($fileIme,'r'); fclose($fileHandle); fclose() fclose je funkcija kojom zatvaramo neki, već otvoreni file. Kod našeg primjera je to file "mojfile.txt", važno je napomenuti da unutar zagrada kod fclose-a, ne stavljamo ime file-a ($fileIme), nego stavljamo Handler ($fileHandler).
fwrite() fwrite je funkcija kojom pišemo po nekom file-u. Da bi normalno funkcionirala, isto su joj potrebna dva podatka. File Handler, da zna treba li brisati sve prethodno ('w') ili treba samo nadodati na ostalo ('a'), te joj je potreban, sadržaj, koji će dodati u file. Evo to bi ovako nekako izgledalo: $fileIme="nekifajl.txt"; $fileHandle= fopen ($fileIme,'w'); $sadrzaj="Minus i plus, ko amer i rus, u mom svijetu ti si korov, a ja hibiskus :D "; fwrite ($fileHandle,$sadrzaj); fclose($fileHandle);
Što smo u biti ovdje učinili ? Jednostavno smo umetnuli sadrzaj iz varijable $sadrzaj, u file mojfile.txt . Nema tu nikakve mudrosti. Samo da napomenem, kao što vidite kod fopen-a, namjestio sam način pisanja na 'w' što znači da će se prethodni sadržaj file-a pobrisati.
fread() fread, je funkcija kojom vadimo, tojest čitamo sadržaj određenog file-a. Da bi fread isto normalno funkcionirao, potrebna su mu dva podatka, opet, prvi je file handler, koji mora biti namješten na ('r') read, te mu je potrebna veličina file-a koji treba otvoriti. Jedno slovo jednako je jednom byte-u. Što bi značilo da ako želimo otvoriti prvih 10 slova, bi stavili 10. Evo kako bi to izgledalo. $fileIme="nekifajl.txt"; $fileHandle= fopen ($fileIme,'r'); $fileSadrzaj= fread ($fileHandle,10); fclose($fileHandle); echo $fileSadrzaj
A rezultat bi bio (ako smo već gore upisali ono "minus i plus..". Dobro, rezultat bi bio: "Minus i pl". Naravno, mi to ne želimo. Ne možemo uvijek znati veličinu file-a, a želimo ispisati sav sadržaj. Onda još koristimo funkciju filesize(). filesize() vraća natrag veličinu file-a u byte-ovima. Jedini potrebni podatak da bi filesize radio je, ime file-a. Znači to bi bilo filesize($fileIme), a ne filesize($fileHandler). Kako bi to sve izgledalo možete vidjeti u slijedećem primjeru. $fileIme="nekifajl.txt"; $fileHandle= fopen ($fileIme,'r'); $fileSadrzaj= fread ($fileHandle,filesize($fileIme)); fclose($fileHandle); echo $fileSadrzaj
A rezultat bi bio: "Minus i plus, ko amer i rus, u mom svijetu ti si korov, a ja hibiskus :D ".
unlink() Unlink funkcija služi za brisanje određenog file-a. Jedino što joj je potrebno je ime file-a ($fileIme). Nije opće potreban handler. To ovako izgleda $fileIme="nekifajl.txt"; unlink($fileIme);
Rezultat ove naredbe je gubitak fajla sa servera odnosno taj fajl je izbrisan |