Instalacija PHP-a

Document Sample
Instalacija PHP-a Powered By Docstoc
					Instalacija PHP-a

Kada želite napraviti web stranicu baziranu na PHP-u prvo morate imat otvoren korisnički
račun kod nekog web hosting providera. Također taj vaš račun kod tog providera mora imati
podršku za PHP (što je naznačeno u opisu računa) i pristup MySQL bazama podataka.
Također morate imati i PHP i MySQl instaliran na vašem računalu. MySQl nije obavezan kod
korištenja PHP ali sa kombinacijom PHP & MySQL možete raditi čuda.
Link za download PHP i uputstva za instalaciju možete naći ovdje.

Instalacija:
Php možete instalirati automatski koristeći Windows installer i onda će on biti automatski i
podešen, ali ta instalacija nije sigurna te bi trebali ipak PHP instalirati ručno. Ručnih načina za
instalaciju ima puno, a o vašim potrebama ovisi na koji način (i što sve) ćete instalirati.

Zašto instalirati php?
Ako vaš server podržava PHP onda nema nikakve potrebe instalirati PHP.

Testiranje
Sve vaše skripte možete testirati sa programom XAMPP




Sintaksa

Syntaxe su pravila koja moramo poštovati pri pisanju nekog koda tako da bi taj kod radio. O
programskom jeziku ovisi kakve ćemo syntax koristiti.

<?php
neki kod
?>


Ako hoćete da vaš php kod radi onda se on mora nalaziti unutar ovih tagova.

Kako spremiti PHP stranicu?

Ako hoćete da browser izvrši vaš kod u toj stranici stranica (datoteka) mora imati ekstenziju
.php

Razmaci

Razmaci u PHP-u su potpuno dopušteni. U PHP skripti možete koristiti razmake, uvlačiti
određene dijelove koda sa Tab tipkom; za razliku od HTML gdje razmaci nisu dopušteni.

Hello world!

Sada ćemo napraviti primjer jedne HTML i PHP stranice:

<html>
<head>
<title>jednostavna stranica</title>
</head>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>


Rezultat u browseru:
Hello World!

Točka-zarez ;

; ovaj znak na kraju koda govori da je PHP tvrdnja gotova i taj znak nikad nesmijete zaboraviti

Komentari

Komentari u PHP su slični komentarima u HTML-u, ali PHP ima 2 tipa komentara:
1) jednolinijski komentar. Kada stavite ovaj znak // sve desno od tog znaka će biti komentar
2) višelinijski komentar.
ova vrsta komentara počinje sa /* i završava sa */




Varijable


Kao i mnogim drugim programskim jezicima pa tako i u PHP-u varijable nam služe da
pohranimo neku vrijednost. Kada spremimo neku vrijednost u neku varijablu možemo je
koristiti dalje u kodu bez potrebe da ponovo upisujemo tu vrijednost.

Evo primjera:

$ime_korisnika = "Mario";


Primjetite navodnike kod imena Mario.

ili


$broj = 189;


Primjetite da kod brojeva ne trebaju navodnici.

Pravila imenovanja varijabli

- PHP varijable moraju početi sa slovom ili znakom _
- PHP varijable mogu sadržavati jedino alfa-numeričke znakove a-z , A-Z, 0-9 ili _
- Varijable sa više riječi trebale bi biti razdvojene sa _ ili ih možete napisati ovako da
razlikujete riječi u imenu:

$mojaVarijabla




Include funkcija


PHP funkcija INCLUDE vam može spasiti puno vremena.Ta funkcija uzima datoteku i ubacuje
njen sadržaj u skriptu koja je pozvala tu funkciju.

Primjer:
Recimo da smo htjeli napraviti uobičajeni file menu koje će sve naše stranice korisititi. Kada
hoćemo neke stranice includati običaj je da imaju .inc exstenziju. Menu ćemo nazvati
„menu.inc“

<html> <body>
<a href="index.php">Početna</a> -
<a href="about.php">O nama</a> -
<a href="links.php">Linkovi</a> -
<a href="contact.php">Kontakt</a> <br />


Spremite ovo iznad pod „menu.inc“. Sada napravite novi file imenom "index.php" u istom
direktoriju kao i menu.inc.
Ovdje ćemo iskoristiti prednosti include funkcije i dodat ćemo našem menu-u kod indeks.php.

<?php include("menu.inc"); ?>
<p>Ovo je moja stranica!</p>
</body>
</html>


Prikaz:
Početna – O nama - Linkovi - Kontakt

Ovo je moja stranica!

Ako koristimo include funkciju da includamo menu na svakoj našoj stranici, korisnik će, ako
gleda kod indeks.php, vidjeti:

<html> <body>
<a href="index.php">Početna</a> -
<a href="about.php">O nama</a> -
<a href="links.php">Linkovi</a> -
<a href="contact.php">Kontakt</a> <br /> <p> Ovo je moja stranica!</p>
</body>
</html>


Sažetak

Include komanda uzima sav tekst koji postoji u nekom fileu i kopira ga u file koji koristi inlude
funkciju. Include funkcija je korisna kada želiš inlcludati više stranica i kod izrade web-stranica
.




Require funkcija


Require funkcija se koristi kad se hoće includati file u vaš php kod. Ali postoji ogromna razlika
između require i include funkcije:
Kada includaš file sa include funkcijom i PHP nemože naći file vidjet ćeš grešku:

<?php
include("nepostojifile.php");
echo "Hello World!";
?>


Prikaz:
Warning: main(nepostojifile.php): failed to open stream: No such file or directory in
/početna/imeStranice/imeFoldera/skripta.php on line 2
Warning: main(): Failed opening 'nepostojifile.php' for inclusion
(include_path='.:/usr/lib/php:/usr/local/lib/php') in
/početna/imeStranice/imeFoldera/skripta.php on line 2

Hello World!

Primjetili ste da se naša echo tvrdnja izvršila iako se pojavilo upozorenje, zbog toga što
WARNING ne spriječava php skriptu da se ona izvrši. Ali, ako koristimo require funkciju, dobit
ćemo sljedeće:

<?php
require("nepostojifile.php");
echo "Hello World!";
?>


Prikaz:
Warning: main(nepostojifile.php): failed to open stream: No such file or directory in
/početna/imeStranice/imeFoldera/skripta.php on line 2
Fatal error: main(): Failed opening required 'nepostojifile.php'
(include_path='.:/usr/lib/php:/usr/local/lib/php') in
/početna/imeStranice/imeFoldera/skripta.php on line 2
Echo tvrdnja se nije izvršila zato što se skripta nije izvršila nakon što je require funkcija vratila
kao rezultat grešku. Preporuča se da se korisiti require funkcija umjesto include zbog toga da
se vaše skripte ne izvršavaju ako neki važni fileovi nedostaju ili su krivo imenovani.




IF petlja


PHP petlja IF je jako slična petlji IF iz raznih drugih programskih jezika. Također, ta petlja je
bitna za svako programiranje.
Primjer:

<?php
$moje_ime = "Bond";
if ( $moje_ime == "Bond" ) {
echo "Moje ime je Bond!<br />";
}
echo ",James Bond";
?>

Rezultat:

Moje ime je Bond!
,James Bond

Također, u PHPu, kada uspoređujete dvije varijable i želite provjeriti jesu li one jednake onda
koristite = =
U ovom slučaju, rezultat je bio istinit.
Sada ćemo provjeriti šta će se dogoditi ako je rezultat te dvije usporedbe lažan:

<?php
$moje_ime = "Zagor";
if ( $moje_ime == "Bond" ) {
echo "Moje ime je Bond!<br />";
}
echo ",James Bond";
?>


Rezultat:
,James Bond

U ovom slučaju, varijabla Zagor nije bila jednaka varijabli Bond, pa zbog toga je izvršen samo
dio echo "Moje ime je Bond!";
Ako znate koristiti petlju IF pravilno, ona može postati itekako važna u vašem programiranju.




IF petlja


PHP petlja IF je jako slična petlji IF iz raznih drugih programskih jezika. Također, ta petlja je
bitna za svako programiranje.
Primjer:

<?php
$moje_ime = "Bond";
if ( $moje_ime == "Bond" ) {
echo "Moje ime je Bond!<br />";
}
echo ",James Bond";
?>

Rezultat:

Moje ime je Bond!
,James Bond

Također, u PHPu, kada uspoređujete dvije varijable i želite provjeriti jesu li one jednake onda
koristite = =
U ovom slučaju, rezultat je bio istinit.
Sada ćemo provjeriti šta će se dogoditi ako je rezultat te dvije usporedbe lažan:

<?php
$moje_ime = "Zagor";
if ( $moje_ime == "Bond" ) {
echo "Moje ime je Bond!<br />";
}
echo ",James Bond";
?>


Rezultat:
,James Bond

U ovom slučaju, varijabla Zagor nije bila jednaka varijabli Bond, pa zbog toga je izvršen samo
dio echo "Moje ime je Bond!";

Ako znate koristiti petlju IF pravilno, ona može postati itekako važna u vašem programiranju.
Elseif petlja


Elseif petlja, za razliku od If/else petlje, je dobra kada se treba provjeriti više od jednog
uvjeta. Toj petlji mora prethoditi if petlja. Ako je rezultat if petlje neistinit, PHP će provjeriti
elseif petlju. Ako je rezultat te petlje također neistinit, PHP će provjeriti, ako ih ima, sljedeću
elseif petlju. Ako više nema elseif petlji ,php će izbaciti rezultat zadan else petljom.

Sada ćemo napraviti jedan osnovni primjer. Želimo, na primjer, provjeriti jeli neki zaposlenik u
nekoj tvrtki šef (nazvat ćemo ga Pero):

<?php
$zaposlenik = "Pero";
if($zaposlenik == "Stefica"){
echo "Dobro jutro mala";
} else {
echo "Jutro";
}
?>


A ako smo htjeli također provjeriti jeli zaposlenik zaposlenik Pero šef moramo koristiti elseif
petlju.

<?php
$zaposlenik = "Pero";
if($zaposlenik == "Stef"){
echo "Dobro jutro mala";
} elseif($zaposlenik == "Pero"){
echo "Dobro jutro šefe!";
}else {
echo "Jutro";
}
?>


Rezultat:
Dobro jutro šefe!
SWITCH petlja

Sa switch petljom možete provjeriti jako puno uvjeta odjedanput. Switch petlja je puno brža,
korisnija i jednostavnija od if petlje. Jedna switch petlja može zamijeniti desetke if petlji.
Switch petlja radi tako da uzme jednu varijablu i provjerava je sa svim dostupnim
slučajevima.

Primjer:

<?php
$vrijeme = "suncano";
echo "Vrijeme ce biti $vrijeme<br />";
switch ($vrijeme){
case "suncano":
echo "Ponesi suncane naocale.";
break;
case "kisovito":
echo "Ponesi kisobran!";
break;
case "hladno":
echo "Dobro se obuci";
break;
}
?>


Prikaz:
Vrijeme ce biti suncano
Ponesi suncane naocale.

Također, dobra je ideja da napravite jedan zadani slučaj:

Primjer:

<?php
$vrijeme = "maglovito";
echo "Vrijeme ce biti $vrijeme<br />";
switch ($vrijeme){
case "suncano":
echo "Ponesi suncane naocale.";
break;
case "kisovito":
echo "Ponesi kisobran!";
break;
case "hladno":
echo "Dobro se obuci";
break;
default:
echo "Cuvaj se!";
break;
}
?>
Rezultat:
Vrijeme ce biti maglovito
Cuvaj se!




                            Formulari
              Poverite cenu za svaki slucaj na http://www.faceyubook.com


Na web stranicama se može često vidjeti razne forme koje korisnik može ispuniti, naprimjer
kod registracije, online kupovanja….itd.
Prvo što moramo napraviti kod ovakve vrste forme, gdje HTML forma šalje podatke PHP
stranici je, naravno HTML forma.

Odmah u samome početku morate znati da php razlikuje $varijabla od $Varijabla. Dakle na to
morate pripaziti jer su to zapravo dvije sasvim različite varijable.
Pri definiranju varijable treba znati i da ona ne smije počinjati sa brojevima, iako ih smije
sadržavati.

Krenimo od početka. Kao što sam već rekao u prethodnom dijelu da biste radili u php-u
potrebno je predznanje osnova html-a. Sljedeći kod je html forma u koju je potrebno unjeti
ime i prezime.

<form method="POST" action="obradi.php">
<input type="text" name="ime" size="20"> Ime <br />
<input type="text" name="prezime" size="20"> Prezime <br />
<input type="submit" value="Pošalji" name="posalji">
</form>


Dakle analizirajmo taj gore kod.
U prvoj liniji vidite method=POST, taj dio koda govori kako će se podatci nformulara slati
skripti, osim ove metode postoji i GET metoda. Razlika je u tome što pri POST metodi korisnik
ne vidi što formular zapravo šalje skripti, ta metoda je sigurnija.
U nastavku prve linije se nalazi action=obradi.php, taj dio govori formularu kojem fajlu da se
šalju podatci iz formulara na obradu.
Ovaj ostatak je jasan, tu se nalazi kod za polja koja treba popuniti.

Ovaj gore kod spremite kao forma.htm

Sada napravite novi fajl i nazovite ga obradi.php.
U taj fajl pišite sljedeći kod:

<?php
$ime = $_POST[ime];
$prezime = $_POST[prezime];

Echo "Vaše ime je $ime, a prezivate se $prezime .";

?>


Da analiziramo i ovo.
Prva linija varijabli $ime daje vrijednost polja „ime“ iz formulara. Ime polja smo zadali u
formularu u dijelu name=ime. Ista stvar je i u drugoj liniji. Treća linija koda ispisuje rečenicu
sa varijablama na odgovarajućim mjestima.
Sada u browser upisite http://localhost/forma.htm i isprobajte skriptu.

U nastavku ćemo napisati još jedan jednostavan primjer pomoću formi. Napraviti ćemo
jednostavnu aplikaciju koja će zbrojiti dva broja.

Dakle imamo ovakav formular:

<form method="POST" action="zbroji.php">
<input type="text" name="broj1" size="20"> broj1 <br />
<input type="text" name="broj2" size="20"> broj2 <br />
<input type="submit" value="ZBROJI" name="zbroji">
</form>


Spremimo to kao zbrajanje.htm

Sada kao što se iz formulara vidi treba nam skripta koja će zbrojiti brojeve koje unesemo, fajl
se zove zbroji.php, a kod bi izgledao ovako:
<?php
$broj1 = $_POST[broj1];
$broj2 = $_POST[broj2];
$zbroj = $broj1+broj2;

Echo "Rezultat je: $zbroj";

?>


Dakle prve dvije linije su jasne jer sam ih prethodno već objasnio. Jedino ova treća linija je
nešto novo. Dakle tu varijabli $zbroj dajemo vrijednost $broj1+$broj2. Ona zbraja ta dva
broja, znači zbroj tih brojeva je njezina vrijednost. U nastavku echo ispisiuje rezultat
zbrajanja. Osim zbrajanja možete staviti bilo koju drugu matematičku operaciju. Ova skripta
naravno ima nedostataka, na primjer što bi se dogodilo da umjesto broja unesete slova. Tada
bi skripta ispisala da je rezultat 0, jer brojeva nema.

Evo sada jednog jednostavnog primjera pizzerije. Napravit ćemo formu i spremiti ju u
narudzba.html

Kod narudzba.html:

<html>
<body>
<b>Pizzerija kod Debele babe</b>
<form>
<select>
<option>mala pizza</option>
<option>srednja pizza</option>
<option>velika pizza</option>
</select>
Kolicina: <input type="text" />
<input type="submit" />
</form>
</body>
</html>


Ovo ćemo spremiti pod narudzba.html

Prikaz:




Ali mi želimo da naša HTML forma odredi PHP stranicu kojoj ćemo poslati informacije.
Naravno, koristiti ćemo metodu POST.
Kod narudžbe.html:

<html>
<body>
<b>Pizzerija kod Debele babe</b>
<form action="procesiranje.php" method="post">
<select name="velicina">
<option>mala pizza</option>
<option>srednja pizza</option>
<option>velika pizza</option>
</select>
Kolicina: <input name="kolicina" type="text" />
<input type="submit" />
</form>
</body>
</html>


Sada ćemo napraviti procesiranje.php koji će obraditi podatke.

<html>
<body>
<?php
$kolicina = $_POST['kolicina'];
$velicina = $_POST['velicina'];
echo "Vi ste narucili ". $kolicina . " " . $velicina . ".<br />";
echo "Dodite nam opet!";
?>
</body>
</html>


Ako netko odabere npr: 5 i malu pizzu rezultat će biti:
Vi ste narucili 5 mala pizza.
Dodite nam opet!


Napomena: rezultat izgleda kao da ga je rekao, tj. pisao indijanac. Taj problem ostavljam na
vama da ga riješite kako god vam se sviđa!

Nadam se da vam je jasnije korištenje formulara, malo sada sa ovime što smo naučili
isprobavajte. Pokušajte staviti više polja u formular. Već smislite nešto.




PHP operatori

Operatori se koriste da upravljaju ili izvode operacije na varijablama i vrijednostima.
Kako je puno operatora koji se koriste u PHP, oni su svrstani u sljedeće kategorije:

Pridružujući operatori (Assignment Operators)
Matematički (aritmetički) operatori (Arithmetic Operators)
Uspoređivajući operatori (Comparison Operators)
Znakovni operatori (String Operators)
Kombinirani matematički i pridružujući operatori

Pridružujući operatori

-koriste se da bi izjednačili dvije varijable ili da izjednače vrijednost jedne varijable sa
vrijednosti druge varijable.
-takva pridruživanja obavljamo sa znakom jednakosti “= “
Primjer:

$prva_varijabla = 9;
$druga_varijabla = $prva_varijabla

Sada obadvije varijable sadrže vrijednost 9.

Matematički operatori

Operator Značenje
+ zbrajanje
- oduzimanje
* množenje
/ dijeljenje
% ostatak

Kod:

<?php
$zbrajanje = 2 + 4;
$oduzimanje = 6 - 2;
$mnozenje = 5 * 3;
$dijeljenje = 15 / 3;
$ostatak = 5 % 2;
echo "zbroji: 2 + 4 = ".$zbrajanje."<br />";
echo "oduzmi: 6 - 2 = ".$oduzimanje."<br />";
echo "pomnozi: 5 * 3 = ".$mnozenje."<br />";
echo "podijeli: 15 / 3 = ".$dijeljenje."<br />";
echo "izracunaj ostatak: 5 % 2 = ".$ostatak.";
?>


Prikaz:
zbroji: 2 + 4 = 6
oduzmi: 6 - 2 = 4
pomnozi: 5 * 3 = 15
podijeli: 15 / 3 = 5
izracunaj ostatak: 5 % 2 = 1

Uspoređivajući operatori

-koriste se da bi provjerili odnos između varijabli i/ili vrijednosti. Imaju dva rezultata :true i
false. Ovo su najvažniji u PHP-u:

$a = 1; $b = 2;

Operator Značenje Primjer Rezultat
== jednako $a == $b false
=== apsolutno jednako $a===$a true
!= nije jednako $a != $b true
< manje od $a < $b true
> veće od $a > $b false
<= manje ili jednako od $a <= $b true
>= veće ili jednako od $a >= $b false

Znakovni operatori

-točka "." se koristi da bi se spojila dva stringa
Kod:
<?php
$prvi_string = "Bok";
$drugi_string = " stari";
$novi_string = $prvi_string . $drugi_string;
echo $novi_string . "!";
?>

Prikaz:
Bok stari!

Kombinirani matematički i pridružujući operatori

U programiranju ćete vrlo često naići na potrebu da povećate varijablu za neki određeni iznos.
Najjednostavniji primjer je brojač. Recimo da želite povećavati brojač za jedan.

$brojac = $brojac + 1;

Ali, kraće to možete napraviti ovako:
$brojac += 1;


Ovakav operator će napraviti isto kao i ovaj prošli. Jedini manjak ovog novog operatora je da
smanjuje čitljivost koda programerima koji nisu naučili na takav operator. Ovo su primjeri
najpoznatijih operatora:



Operator Značenje Primjer Drugi način:
+= plus jednako $x += 2; x = $x + 2;
-= minus jednako $x -= 4; x = $x - 4;
*= množenje jednako $x *= 3; x = $x * 3;
/= dijeljenje jednako $x /= 2; x = $x / 2;
%= ostatak jednako $x %= 5; x = $x % 5;
.= ulančena izjednačavanja
$moj_string.="bok";
$moj_string = $moj_string."bok"


Prije/Poslije-povećanje i Prije/Poslije-smanjenje

Postoji i još kraći način za dodavanje ili oduzimanje 1 od varijable. Da dodamo jedan varijabli
koristimo operator ++

$x++; ovo je jednako $x += 1; ili $x = $x + 1;

Ako želimo oduzeti jedan od varijable koristimo -- operator:
$x--; ovo je jednako $x -= 1; ili $x = $x - 1;

Također, možemo odrediti želimo li uvećati varijeblu za jedan prije nego što se linija koda
izvrši ili nakon njezinog izvršavanja:

Kod:

<?php
$x = 1;
echo "vrijednost x sa poslije-uvecanja = " . $x++;
echo "<br /> vrijednost x poslije poslije-uvecanja je " . $x;
$x = 1;
echo "<br />vrijednost x sa prije-uvecanja = " . ++$x; echo "<br /> vrijednost
x poslije prije-uvecanja je" . $x;
?>

Prikaz:
vrijednost   x   sa poslije-uvecanja = 1
vrijednost   x   poslije poslije-uvecanja je = 2
vrijednost   x   sa prije-uvecanja = 2
vrijednost   x   poslije prije-uvecanja je = 2




Arrays

Sa arrayima možemo spremiti više vrijednosti u jednu varijablu.

Numeričko indexirani array

Ako želimo, npr. spremiti više imena u jednu varijablu, tako da poslije nemoramo pozivati
svako ime sa svojom zasebnom varijablom, to ćemo napraviti ovako:

$ime_array[0] = "Gogy";
$ime_array[1] = "Leviathan";


Koristili smo key/value strukturu arraya:
$array[key] = value;


Sada ako želimo iskoristiti tu varijablu to ćemo napraviti ovako:

echo "Tko su face?"
. $ime_array[0] . " & " . $ime_array[1];


Prikaz:
Tko su face? Gogy & Leviathan

Pridruženi arrayi

U pridruženim arrayima ključ je pridružen vrijednosti:
$godine["Gogy"] = 18;
$godine["Leviathan"] = 16;

echo "Gogy ima " . $godine["Gogy"] . "<br />";
echo "Leviathan ima " . $godine["Leviathan"];
While loop

Loop koristimo kada trebamo nešto ponavljati dok se ne zadovolji neki uvjet i dok se neki
zadatak ne izvrši.

Pogledajmo primjer jednog loopa:

<?php

$broj = 1;
while($broj<=50) {
echo "Tutorijali.Net";
$broj++;
}

?>


Dakle varijabli $broj smo dodali vrijednost 1. Pomoću while smo definirali da se ponavlja
"Tutorijali.Net" sve dok je varijabla $broj manja ili jednaka broju 50. Pomoću $broj++; smo
napravili da se nakon ispisa vrijednost varijable $broj poveća za 1. I tako ide sve do broja 50.

Do... While

Evo jednostavnog primjera za do...while.

<?php

$broj = 1;
do {
echo "Ispisuje se broj $broj <br />";
$broj++;
} while ($broj > 100 && < 600 );

?>


While je vrlo često korištena stvar kod čitanja podataka iz baze pa bi bilo dobro da to dobro
naučite.
Upravljanje datotekama PHP-om: UVOD


Stvaranje, editiranje, otvaranje i brisanje datoteka pomoću php-a je osnova svakog većeg
ozbiljnog programiranja.
Ovi sljedeći tutorijali će vas naučiti gotovo svemmu što trebate znati ako želite manipulirati
datotekama pomoću PHP-a.

Upozorenje:

Kada manipulirate datotekama php-om morate biti vrlo oprezni zato što možete napraviti
veliku štetu ako napravite nešto krivo. Uobičajene greške su: editiranje pogrešnih datoteka,
stvaranje smeća na vašem disku i slučajno brisanje sadržaja datoteka ili cijelih datoteka.




Upravljanje datoteka PHP-om: stvaranje datoteke

Sada ćemo naučiti kako stvoriti datoteku koristeći PHP.
Važno:
-u php-u datoteke se stvaraju istom komandom koja se koristi i za otvaranje datoteka!
Funkcija za stvaranje datoteka se zove fopen. Ako naredimo php-u da otvori datoteku koja ne
postoji on će je stvoriti. Ako takva datoteka postoji, php će je otvoriti bez stvaranja nove.

Fopen funkcija mora sadržavati dvije važne informacije: moramo joj dati ime datoteke koju
ćemo otvoriti/stvoriti i moramo joj reći što ćemo raditi s tom datotekom (primjer: čitati ćemo
iz nje).

Kod:

<?php
$imedatoteke = "test.txt";
$upravljanjedatoteke = fopen($imedatoteke, 'w') or die("datoteka se nemoze
otvoriti");
fclose($upravljanjedatoteke);
?>

-moramo reći php-u da ćemo pisati u datoteku, inače php neće stvoriti novu datoteku.

Datoteka test.txt bi trebala biti stvorena u istom direktoriju u kojem se nalazi ovaj kod. PHP će
vidjeti da datoteka test.txt ne postoji i stvoriti će novu nakon što se ovaj kod pokrene. Sada
ćemo objasniti svaku liniju koda:

$imedatoteke = "test.txt";

Ovdje smo odredili ime datoteke i spremili ga u varijablu $imedatoteke

$upravljanjedatoteke = fopen($imedatoteke, 'w') or die("datoteka se nemoze
otvoriti");

Ovaj linija koda ima dva dijela: prvi se sastoji od funkcije fopen i njoj smo dali dva
argumenta: ime datoteke i rekli smo php-u da želimo pisati sa slovom W.
Drugi, fopen funkcija vraća „file handle“(upravljač datoteke) koji nam dopušta da
manipuliramo sa datotekom. Spremili smo upravljač datoteke u varijablu
$upravljanjedatoteke.

fclose($upravljanjedatoteke);

S ovim zatvaramo datoteku koju smo otvorili.

Važno!
Ako pokušavate pokrenuti ovaj program i on vam stalno javlja grešku provjerite jeste li
dopustili vašem PHP-u da zapisuje informacije na disk. Ovaj problem se najčešće rješava ako
uz pomoć FTP programa izvršimo komandu CHMOD.




Upravljanje datotekama PHP-om: Otvaranje datoteka

U ovoj ćemo lekciji naučiti različite načine otvaranja datoteke.

Osnovni načini:
čitaj: 'r'
-otvara datoteku samo za čitanje.

piši: 'w'
-otvara datoteku samo za pisanje. Ako išta zapišete u datoteku prijašnji podaci će biti izbrisani
i počet ćete pisati na početku datoteke.

nadopisivanje: 'a'
-otvara datoteku samo za pisanje, ali prijašnje informacije u datoteci su sačuvane i počet ćete
pisati na kraju datoteke.

-file pointer (pokazivač u datoteci)– način na koji PHP zapamćuje lokaciju u datoteci. Kada
otvorite datoteku samo za čitanje ili samo za pisanje pokazivač se nalazi na početku datoteke.
Ali, kada otvorite datoteku za nadopisivanje, pokazivač se nalazi na kraju datoteke.

Napredni načini:
Također, postoje načini u kojima možete dopustiti čitanje i pisanje. Ovo najčešće postižemo
stavljanjem znaka + pored znaka koji nam govori što želimo napraviti s datotekom.

Čitaj/Piši: 'r+'
-otvara datoteku tako da možemo čitati iz nje i pisati u nju. Pokazivač se nalazi na početku
datoteke.

Piši/čitaj: 'w+'
-isti način kao i r+ samo što ovaj način briše sve informacije u datoteci kada je ona otvorena.

nadopisivanje: 'a+'
-isti način kao i r+, samo što se pokazivač nalazi na kraju datoteke.

Obrazac (forma) za otvaranje datoteke:

<?php
$imedatoteke = "test.txt";
$ud = fopen($imedatoteke, 'X') or die("datoteka se nemoze otvoriti");
fclose($ud);
?>


Zamijenite X sa r,w,a … ovisi o tome što želite raditi sa datotekom.




Upravljanje datotekama PHP-om: Zatvaranje datoteke


U ovom ćemo tutorijalu se upoznati sa time kako zatvoriti datoteku.

U PHP-u nije potrebno zatovriti sve datoteke nakon što ste ih koristili zato što će server
zatvoriti sve datoteke kada se izvrši PHP kod. Ipak, programer može slučajno pogriješiti (npr.
editirati datoteku koju smo zaboravili zatvoriti).

Za zatvaranje datoteke koristimo funkciju fclose:
Kod:

<?php
$imedatoteke = "test.txt";
$ud = fopen($imedatoteke, 'w') or die("datoteka se nemoze otvoriti");
fclose($ud);
?>

Funkcija fclose zahtijeva upravljač datoteke koju želimo zatvoriti. Kada zatvorimo datoteku
nemoguće ju je čitati, pisati ili nadodati u nju osim ako je ponovno ne otvorimo sa fopen
funkcijom.
Upravljanje datotekama PHP-om: Pisanje u datoteku


U ovom ćemo tutorijalu naučiti kako pisati u datoteku. Funkcija kojom pišemo se zove fwrite:

Prvi korak je otvaranje naše test datoteke funkcijom fopen.
Kod:

<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'w');
?>

Sa php-om možemo pisati u bilo koju datoteku. Funkciji fwrite moramo dati upravljač
datotekom i ime datoteke u koju ćemo pisati.

Sada ćemo napisati par imena u našu test datoteku.
Kod:

<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'w') or die("datoteka se nemoze otvoriti");
$podaci = "Gogy\n";
fwrite($ud, $podaci);
$podaci = "&\n";
fwrite($ud, $podaci);
$podaci = "Leviathan\n";
fwrite($ud, $podaci);
$podaci = "su face\n";
fwrite($ud, $podaci);
fclose($ud);
?>

Varijabla $ud sadržava upravljač datotekom test.txt.
Napisali smo u datoteku test.txt četiri puta.
Ako bi sada otvarali datoteku test.txt njen bi sadržaj izgledao ovako:

Gogy
&
Leviathan
su face

Pisanje preko sadržaja:

Sada kada test.txt sadrži neki podatak možemo demonstrirati što se događa kada otvorite
postojeću datoteku za pisanje. Svi podaci koje je datoteka sadržavala će biti izbrisani i vi
dobijate praznu datoteku.

Kod:
<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'w') or die("datoteka se nemoze otvoriti");
$podaci = "tutorijal.net team\n";
fwrite($ud, $podaci);
fclose($ud);
?>

Ako sada otvorite test.txt vidjet ćete da je prijašnji tekst nestao i da datoteka sadrži samo
podatke koje smo upisali:
Tutorijal.net team




Upravljanje datotekama PHP-om: čitanje iz datoteke


Sada ćemo naučiti kako čitati informacije iz datoteka.

Prije nego što možemo čitati informacije iz datoteka moramo ih otvoriti za čitanje funkcijom
fopen:

Kod:
<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'r');
?>


PHP skripta kojom pišete mora biti u istom direktoriju kao i test.txt datoteka koju smo stvorili
u prijašnjim lekcijama.

Sadržaj test.txt:

Tutorijal.net team

Sada možemo čitati iz te datoteke. Koristiti ćemo se funkcijom fread.
Fread funkciji moramo dati upravljač datotekom i moramo joj reći koliko podataka u bytima
treba pročitati.
Jedan znak zauzima jedan byte.
Primjer:

<?php
$mojadatoteka = "File.txt";
$ud = fopen($mojadatoteka, 'r');
$podaci = fread($ud, 9);
fclose($ud);
echo $podaci;
?>

Prikaz:
Tutorijal


Ako smo htjeli pročitati sve podatke iz datoteke, onda moramo imati točnu veličinu datoteke.
Za to će nam trebati filesize funkcija.

Kod:
<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'r');
$podaci = fread($ud, filesize($mojadatoteka));
fclose($ud);echo $podaci;
?>


Prikaz:
Tutorijal.net team


Sada su svi podaci iz test.txt spremljeni u varijablu $podaci.

Također, možete čitati samo liniju podataka iz datoteke sa gets funkcijom.
Kod:

<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'r');
$podaci = fgets($ud);
fclose($ud);
echo $podaci;
?>


Ovo funkcija vam možda zatreba ali nije česta. Također, naša datoteka nema više od 1 linije
podataka tako da se niti nemože vidjeti stvarna namjena ove funkcije. Napišite za vježbu još
par redaka u datoteku i probajte onda ovu funkciju.




Upravljanje datotekama PHP-om: brisanje datoteka

Sada ćemo naučiti izbrisati datoteku. To se radi sa funkcijom unlink:
Prvo, morate biti sigurni da datoteka koju želite brisati nije otvorena. Ako je zatvorite je sa
fclose:

<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'w') or die("Datoteku nije moguce otvoriti");
fclose($ud);
?>

Sada ako želimo izbrisati test.txt samo pokrenemo PHP skriptu koja se nalazi u istom
direktoriju kao i datoteka. Funkcija unlink zahtjeva jedino ime datoteke za brisanje:

Kod:

<?php
$mojadatoteka = "test.txt";
unlink($mojadatoteka);
?>

Datoteka test.txt je sada izbrisana.

Upozorenje!
Pazite kada želite brisati datoteke da izbrišete pravu datoteku da bi izbjegli
probleme.




Upravljanje datotekama PHP-om: Nadodavanje u datoteku


Do sada smo naučili pisati u datoteku na taj način da su svi prijašnji podaci iz datoteke bili
izbrisani. Ako želimo nadopisati nešto u datoteku bez gubitka prijašnjih podataka onda
moramo otvoriti datoteku u append modu (modu za nadodavanje).

Kod:
<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'a');
?>


Ako želimo sada pisati u datoteku počet ćemo pisati na kraju datoteke.
Koristiti ćemo datoteku test.txt koju smo već stvorili prije.

Kod:
<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'a') or die("Datoteku nije moguce otvoriti");
$podaci = "Tralalala\n";
fwrite($ud, $podaci);
fclose($ud);
?>


Sadržaj datoteke test.txt bi sada trebao izgledati ovako:
Tutorijal.net team
Tralalala
Upravljanje datotekama PHP-om: Skraćivanje datoteke


Već smo spomenuli da kada otvorite datoteku za pisanje sa parametrom W da se svi podaci
izvrišu unutar te datoteke. Ovo se još naziva i skraćivanje datoteke.

Da izbrišemo sve podatke iz test.txt moramo otvoriti datoteku u normalnom načinu za pisanje.
Svi podaci unutar datoteke će biti izgubljeni.
Kod:

<?php
$mojadatoteka = "test.txt";
$ud = fopen($mojadatoteka, 'w');
fclose($ud);
?>

Zašto koristiti?

Ovo se najčešće koristi na datotekama koje sadrže podatke koji će se koristiti samo kratko
vrijeme prije nego što će biti zamijenjeni. Ovakve datoteke se najčešće zovu „temporary files“
(privremene datoteke).



Upravljanje datotekama PHP-om: Upload

U ovom tutorijalu ćemo naučiti kako pomoću PHP „uploadati“ datoteke na vaš server.
Omogućavanje uploada na vaš server je rizičan posao jer ste s time omogućili da se „zarazite“
ili prenesete „zarazu“ gotovo svakog ikad napisanog crva/virusa.

Prvi korak je pravljenje HTML forme.
Kod:

<form enctype="multipart/form-data" action="dizanje.php" method="POST">

<input type="hidden" name="MAX_velicina_datoteke" value="100000" />

Odaberite datoteku za upload:

<input name="uploadedfile" type="file" /><br />

<input type="submit" value="Upload" />
</form>


Objašnjenja:
enctype="multipart/form-data" -važno za PHP datoteku koju ćemo stvoriti.
action="dizanje.php" - ime PHP datoteke koju ćemo stvoriti
method="POST" - ovime govorimo Internet pregledniku da ćemo poslati informacije na
server koristeći POST.
input type="hidden" name=" MAX_velicina_datoteke" - s ovime ograničavamo
maksimalnu veličinu datoteke u bytovima.
input name="uploadedfile" - uploadedfile je način na koji ćemo naći datoteku u našoj PHP
skripti.

Spremite ovu formu u datoteku dizanje.html.


Sada ćemo napraviti PHP skriptu koja će upravljati uploadima. Na način da će ih primiti ili
odbiti.

Dizanje.php

Kada je datoteka dizanje.php izvršena, uploadana datoteka postoji u privremenom prostoru na
serveru, i ako je ne maknemo datoteka će biti uništena. Uploadanu datoteku ćemo prebaciti sa
funkcijom $_FILES.
funkcija $_FILES sprema sve informacije o datotekama. Ovoj funkciji moramo dati dva
elementa:
uploadedfile - uploadedfile sa ovim ćemo reći $_FILES s kojom ćemo se datotekom igrati.
$_FILES['uploadedfile']['name'] - name sadrži originalni put do datoteke.
$_FILES['uploadedfile']['tmp_name'] - tmp_name sadrži put do privremenih datoteka
koje su na serveru.
Kod:

// mjesto gdje ce datoteka biti spremljena
$target_path = "uploadi/";

/* Dodaje originalno ime datoteci u put do datoteke
"uploadi/imedatoteke.ekstenzija" */
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);

// sa ovime ćemo doći do privremene datoteke.
$_FILES['uploadedfile']['tmp_name'];


Važno: morat ćete stvoriti direktorij u direktoriju gdje se dizanje.php nalazi i nazvati ga
„uploadi“ jer ćemo tamo spremati sve datoteke.

Sve što sada moramo napraviti je pozvati move_uploaded_file funkciju i PHP će napraviti
svoje. Ova funkcija mora znati sljedeće:
-put do privremene datoteke
-put do gdje će prebaciti privremenu datoteku
Kod:

$target_path = "uploadi/";

$target_path = $target_path . basename(

$_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "Datoteka ". basename(
$_FILES['uploadedfile']['name']). " je uspijesno pohranjena";
} else{
echo "Datoteka se nije mogla pohraniti na server.";
}
VAŽNO!!!
Ova skripta sadrži par linija koda i napravljena je samo za potreba učenja osnova upload
funkcije te zbog toga ne preporučamo stavljati ju na web stranicu zato što nije sigurna.



Pražnjenje varijabli i upita

Sve varijable se učitvaju u memoriju servera te je poželjno te varijable isprazniti kako bi bilo
više prostora za druge naredbe i varijable. Iako to nije obavezno, pražnjenje varijabli i mysql
upita pridonosi brzini izvođenja naredbi te oslobađanje memorije servera. Kad se memorija
servera napuni, dolazi do "pada" servera što nije baš poželjno. Varijable i upiti se prazne
poslje izvođenja ili korištenja, tj. na kraju stranice. Ako varijablu ili upit ispraznite prije
izvođenja ona više nama učinka, tj. ne postoji pa dolazi do prekida ispisa ili gubitak podataka.

Pražnjenje varijabli: unset($varijabla)

<?php
//prvi primjer
$a = "ovo je nakakva txt varijabla";
echo $a;
unset($a);

//drugi primjer
$a = "5";
$b = "2";
$c = "3";

$d=$a+$b+$c;
unset($a, $b, $c, $d);
?>


Pražnjenje upita: mysql_free_result($varijabla)

<?php
include("konekcija.php"); //konekcija na bazu
$ime="Damir";
$a = mysql_query("SELECT FROM tablica ORDER by ID ASC");
while($redak = mysql_fetch_array($a)){ //ispis iz baze

echo "Bok $ime, ti se prezivaš $redak[prezime]";
}
mysql_free_result($a);
unset($redak);
unset($ime);
?>


Pražnjenje upita: mysql_close($varijabla)

Ponekad je dobro i ugasiti vezu na bazu na kraju stranice jer iako se automatski veza gasi
nakon završetka skripte, može se pojaviti greška pa se veza ne ugasi.

<?php

$a = mysql_connect(localhost, user, lozinka);
mysql_select_db(baza);
//neke naredbe
mysql_close($a);
?>

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:12
posted:7/27/2012
language:Croatian
pages:28