PHP kod
Fajl test.txt kreiran u Notepad-u
Ugrađene funkcije u php-u fopen() otvara datoteku fclose() zatvara datoteku Primjer pokazuje kako se može najprije otvariti datoteka "test.txt" za čitanje, zatim izvršavati neke naredbe i zatvoriti datoteku: $file = fopen("c:\test.txt","r"); //naredbe koje treba izvršiti fclose($file);
Rukovanje datotekama Za otvaranje datoteke koristi se funkcija fopen(). fopen("naziv_datoteke", "mod_otvaranja") Prvi parametar je ime fajla koji se otvara a drugi parametar definiše metodu otvaranja: $file=fopen("c:\test.txt","r");
Metode otvaranja datoteka metod r opis Čitanje, od početka datoteke. r+ Čitanje i pisanje, počinje od početka datoteke. w Samo pisanje, prepisuje sadržaj datoteke ako postoji. w+ Čitanje i pisanje, Read/Write prepisuje sadržaj datoteke ako postoji. a Dodavanje, otvara i piše na kraj datoteke, ili kreira novu ako ne postoji. a+ Čitanje i dodavanje, dodaje novi sadržaj na kraj datoteke. x Samo pisanje. Kreira novu datoteku. Vrada False i grešku ako ved postoji. x+ Čitanje i pisanje. Kreira novu datoteku. Vrada False i grešku ako ved postoji.
Postoji više načina otvaranja fajla $a = fopen("/home/file/test.txt", "r"); $b = fopen(" test.gif", "w"); $c = fopen("http://www.gimnazija.com/", "r"); $d = fopen("ftp://user:password@gimnazija.com/ test.txt", "w");
Primjer: Otvori fajl, u slučaju da ne postoji, prikazati poruku. $file=fopen(" c:\ test.txt","r") or exit("ne mogu otvoriti datoteku!");
file_get_contents() je ista kao i fread () ili fopen() $file = file_get_contents ('C:\Users\Jasna\Desktop\test.txt'); echo $file;
Provjera da li je kraj datoteke feof() Za provjeru da li se stiglo do kraja datoteke (eng. end of file - EOF) koristi se funkcija feof() Korisna je ako treba učitavati podatke za koje ne znamo koliko ih ima, pa ih treba učitavati sve dok se ne dostigne kraj datoteke. Napomena: Nije mogude čitati datoteke otvorene u modu: w i x (samo pisanje)! Primjer: if (feof($file)) echo "Kraj datoteke";
$file = "C:\Users\Jasna\Desktop\PHP kod\test.txt"; $a = fopen($file, 'r'); while (!feof($a)) { $b = fread($a, 25); print $b; print "<p>"; } fclose($b);
Čitanje datoteke liniju po liniju fgets() Za čitanje iz datoteke liniju po liniju koristi se funkcija fgets(). Nakon poziva ove funkcije, pokazivač se automatski premješta na početak nove linije u datoteci. Primjer - čita liniju po liniju sve do kraja datoteke: $file = fopen("test.txt", "r") or exit("ne mogu otvoriti fajl!"); while(!feof($file)) //Prikaz linije sve do kraja datoteke { echo fgets($file). "<br />"; } fclose($file);
$a = "C:\Users\Jasna\Desktop\test.txt"; $b = fopen($a, 'r'); while (!feof($b)) { $d = fgets($b, 256); print $d; print "<p>"; //ispisuje prazan red } fclose($b);
Ispis na ekran
Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija fgetc(). Nakon poziva ove funkcije, pokazivač se automatski premješta na početak nove linije u datoteci. Primjer -čita znak po znak sve do kraja datoteke: $file = fopen("test.txt", "r") or exit("ne mogu otvoriti datoteku!"); while(!feof($file)) //Prikaz znakova sve do kraja datoteke { echo fgetc($file); } fclose($file);
Upis u datoteku -fwrite() Za upis u neku datoteku koristi se funkcija fwrite(). Funkcija vrada broj bajt-ova podataka koji je upisan. fwrite(file,string,length) File naziv datoteke. String naziv varijable čija se vrijednost upisuje u datoteku. Length maksimalni broj bajt-ova podataka koji de se upisati (nije obavezno navesti).maksimalan broj bitova je 8192. Napomena: da bi se moglo pisati u datoteku, ona mora biti prethodno otvorena.
Primjer upisa u datoteku $file = fopen("test.txt","w"); echo fwrite($file, "Sretan pocetak rada!"); fclose($file);
Ispis fajla liniju po liniju $file = "C:\Users\Jasna\Desktop\test.txt"; $a = fopen($file, 'r'); $b = fread($a, 10); $pitanje = file('test.txt'); foreach ($pitanje as $pitanje => $line) { print "<font color=red>pitanje broj {$pitanje}</font>:". $line."<br />\n"; } fclose($a);
Ispis koda na ekran