18
PHP kod

PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

PHP kod

Page 2: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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);

?>

Page 3: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Fajl test.txt kreiran u Notepad-u

Page 4: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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");

?>

Page 5: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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.

Page 6: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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");

?>

Page 7: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Primjer:

Otvori fajl, u slučaju da ne postoji, prikazati poruku.

<?php

$file=fopen(" c:\ test.txt","r")

or

exit("Ne mogu otvoriti datoteku!");

?>

Page 8: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

file_get_contents() je ista kao i fread () ili fopen()

<?php

$file = file_get_contents ('C:\Users\Jasna\Desktop\test.txt');

echo $file;

?>

Page 9: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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";

Page 10: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

<?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);

?>

Page 11: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Č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); ?>

Page 12: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

<?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);

?>

Page 13: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Ispis na ekran

Page 14: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Č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);

?>

Page 15: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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.

Page 16: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Primjer upisa u datoteku

<?php

$file = fopen("test.txt","w");

echo fwrite($file, "Sretan pocetak rada!");

fclose($file);

?>

Page 17: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

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);

?>

Page 18: PHP kodgimnazija.bdcentral.net/korisnik/cetvrti/informatika/2p/novo/19.pdf · Čitanje datoteke znak po znak -fgetc() Za čitanje podataka iz datoteke znak po znak, koristi se funkcija

Ispis koda na ekran