PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke...
Transcript of PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke...
PHP kod
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:
<?php
$file = fopen("c:\test.txt","r");
//naredbe koje treba izvršiti
fclose($file);
?>
Fajl test.txt kreiran u Notepad-u
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:
<?php
$file=fopen("c:\test.txt","r");
?>
Metode otvaranja datoteka
metod opis
r Č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
<?php
$a = fopen("/home/file/test.txt", "r");
$b = fopen(" test.gif", "w");
$c = fopen("http://www.gimnazija.com/", "r");
$d = fopen("ftp://user:[email protected]/ test.txt",
"w");
?>
Primjer:
Otvori fajl, u slučaju da ne postoji, prikazati poruku.
<?php
$file=fopen(" c:\ test.txt","r")
or
exit("Ne mogu otvoriti datoteku!");
?>
file_get_contents() je ista kao i fread () ili fopen()
<?php
$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";
<?php
$file = "C:\Users\Jasna\Desktop\test.txt";
$a = fopen($file, 'r');
while (!feof($a))
{
$b = fread($a, 25); //čitaj samo prvih 25 karaktera
print $b;
print "<p>"; // prazan red
}
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: <?php $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); ?>
<?php
$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:
<?php
$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
<?php
$file = fopen("test.txt","w");
echo fwrite($file, "Sretan pocetak rada!");
fclose($file);
?>
Ispis fajla liniju po liniju
<?php
$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