Upravljanje datotekama i direktorijumima

Similar documents
Podešavanje za eduroam ios

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

IZDAVANJE SERTIFIKATA NA WINDOWS 10 PLATFORMI

Uvod u relacione baze podataka

SAS On Demand. Video: Upute za registraciju:

AMRES eduroam update, CAT alat za kreiranje instalera za korisničke uređaje. Marko Eremija Sastanak administratora, Beograd,

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Ulazne promenljive se nazivaju argumenti ili fiktivni parametri. Potprogram se poziva u okviru programa, kada se pri pozivu navode stvarni parametri.

GUI Layout Manager-i. Bojan Tomić Branislav Vidojević

Upute za korištenje makronaredbi gml2dwg i gml2dgn

Otpremanje video snimka na YouTube

Kako instalirati Apache/PHP/MySQL na lokalnom kompjuteru pod Windowsima

Struktura indeksa: B-stablo. ls/swd/btree/btree.html

CJENIK APLIKACIJE CERAMIC PRO PROIZVODA STAKLO PLASTIKA AUTO LAK KOŽA I TEKSTIL ALU FELGE SVJETLA

Tutorijal za Štefice za upload slika na forum.

Nejednakosti s faktorijelima

PROJEKTNI PRORAČUN 1

KAPACITET USB GB. Laserska gravura. po jednoj strani. Digitalna štampa, pun kolor, po jednoj strani USB GB 8 GB 16 GB.

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

Struktura i organizacija baza podataka

INSTALIRANJE SOFTVERSKOG SISTEMA SURVEY

TRAJANJE AKCIJE ILI PRETHODNOG ISTEKA ZALIHA ZELENI ALAT

KONFIGURACIJA MODEMA. ZyXEL Prestige 660RU

Bušilice nove generacije. ImpactDrill

Visoka škola strukovnih studija za informacione i komunikacione tehnologije. SMS Gateway. Dr Nenad Kojić

Univerzitet u Novom Sadu. Fakultet tehničkih nauka. Odsek za računarsku tehniku i računarske komunikacije. Uvod u GIT

Projekat iz predmeta Računarska elektronika

Datoteke. Skladišta podataka. Organizacija podataka na sekundarnim skladištima

Windows Easy Transfer

JavaScript podrska u radu sa greskama

1. Instalacija programske podrške

BENCHMARKING HOSTELA

IZRADA TEHNIČKE DOKUMENTACIJE

Port Community System

Klasterizacija. NIKOLA MILIKIĆ URL:

Office 365, upute za korištenje elektroničke pošte

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

3D GRAFIKA I ANIMACIJA

Tema 2: Uvod u sisteme za podršku odlučivanju (VEŽBE)

3. Pregled sistema Unix

FAKULTET ZA POSLOVNU INFORMATIKU

Idejno rješenje: Dubrovnik Vizualni identitet kandidature Dubrovnika za Europsku prijestolnicu kulture 2020.

- Vežba 1 (dodatan materijal) - Kreiranje Web šablona (template) pomoću softvera Adobe Photoshop CS

STRUČNA PRAKSA B-PRO TEMA 13

mdita Editor - Korisničko uputstvo -

Trening: Obzor financijsko izvještavanje i osnovne ugovorne obveze

Obrada podataka poslanih preko web formi

Aplikacija za podršku transferu tehnologija

MRS. MRSLab03 Metodologija Razvoja Softvera Vežba 03 LAB Dijagram aktivnosti

Elektrotehnički fakultet Operativni sistemi 1 u Beogradu. File System

DEFINISANJE TURISTIČKE TRAŽNJE

Upotreba selektora. June 04

JEDINSTVENI PORTAL POREZNE UPRAVE. Priručnik za instalaciju Google Chrome dodatka. (Opera preglednik)

UNIVERZITET U BEOGRADU ELEKTROTEHNICKI FAKULTET

ZAVOD ZA AUTOMATIKU I PROCESNO RAČUNARSTVO FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SVEUČILIŠTE U ZAGREBU HTTP PROTOKOL OTVORENO RAČUNARSTVO

Pokretanje izvršnog fajla

MRS MRSLab09 Metodologija Razvoja Softvera Vežba 09

MikroC biblioteka za PDU format SMS poruke

VEB APLIKACIJA ZA IZBOR RESTORANA

Sveučilište Jurja Dobrile u Puli Odjel za informacijsko-komunikacijske tehnologije ANTONIO VUK DATOTEKE U PROGRAMSKOM JEZIKU C++ Završni rad

VEB APLIKACIJA ZA IZBOR KOKTELA

Implementacija sparsnih matrica upotrebom listi u programskom jeziku C

VBA moduli. mr Milovan Milivojević dipl. ing. Visa Poslovno Tehnička Škola - Užice

RANI BOOKING TURSKA LJETO 2017

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

TEHNO SISTEM d.o.o. PRODUCT CATALOGUE KATALOG PROIZVODA TOPLOSKUPLJAJUĆI KABLOVSKI PRIBOR HEAT-SHRINKABLE CABLE ACCESSORIES

Priprema podataka. NIKOLA MILIKIĆ URL:

Uputstvo za pravljenje i korišdenje biblioteka sa dinamičkim povezivanjem (.dll)

IMPLEMENTACIJA TEHNIKA ZA POVEĆANJE BROJA PODRŽANIH KONKURENTNIH KORISNIKA VEB SAJTA

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU. Diplomski rad. Beograd, Novembar 2016.

PowerPoint deo Umetanje oblika (shapes)

Projektovanje softvera. Dijagrami slučajeva korišćenja

Poslednjih godina Internet beleži i dramatičan

1.UVOD. Ključne reči: upotrebljivost, praćenje, korisnički interfejs, aplikacija

IZRADA PORTALA O PROGRAMSKOM JEZIKU PYTHON U SUSTAVU ZA UREĐIVANJE WEB SADRŽAJA

3.2. Prikazati podatke o svim proizvodima, koji se proizvode u Zrenjaninu.

Beograd, Srbija, Vojvode Bogdana 34 Secamcctv Corporation DOO. program za evidenciju radnog vremena I prisustva na radu 2011g

TRENING I RAZVOJ VEŽBE 4 JELENA ANĐELKOVIĆ LABROVIĆ

Pravljenje Screenshota. 1. Korak

Babylon - instalacija,aktivacija i rad sa njim

za STB GO4TV in alliance with GSS media

PROGRAMIRANJE KROZ APLIKACIJE

Mogudnosti za prilagođavanje

CRNA GORA

KatzeView Uputstvo. verzija Novi Sad Josifa Marinkovića 44. Tel: +381 (0) Fax: +381 (0) Mob: +381 (0)

Specification Details: Coded Dash Number M28803/1 -MC PART LISTINGS MANUFACTURER'S DESIGNATION OR TYPE NUMBER TEST OR QUALIFICATION REFERENCE

4.1 Korišćenje aplikacije Ćelije Rukovanje radnim listovima... 32

1 Uvod Kategorije korisnika Administratori hosting usluge (AHU) Administratori škole (AŠ)... 2

DZM Aplikacija za servise

Uputstvo za upotrebu "Moodle"-a

UPUTE ZA INSTALACIJU PROGRAMA FINBOLT 2007 tvrtke BOLTANO d.o.o.

Primer izrade dinamičkog sajta

MINISTRY OF THE SEA, TRANSPORT AND INFRASTRUCTURE

DOSTAVUANJE PONUDA ZA WIMAX MONTENEGRO DOO PODGORICA

Direktan link ka kursu:

UNIVERZITET U BEOGRADU RUDARSKO GEOLOŠKI FAKULTET DEPARTMAN ZA HIDROGEOLOGIJU ZBORNIK RADOVA. ZLATIBOR maj godine

Programiranje. Nastava: prof.dr.sc. Dražena Gašpar. Datum:

Mindomo online aplikacija za izradu umnih mapa

Transcription:

Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd Upravljanje datotekama i direktorijumima dr Nenad Kojić

Datoteke Datoteka je uređena sekvenca bajtova smeštenih na disku, CD-ROM-u ili nekom drugom medijumu Direktorijum je poseban tip datoteke koji čuva imena drugih datoteka ili direktorijuma Direktorijum i datoteka se karakterišu svojom putanjom Putanje se različito zapisuju za Linux i Windows Za Unix sistema, kao što je Linux /home/moje/podaci/arhiva.txt Za Windows C:\moje\podaci/arhiva.txt PHP koji je instaliran na Windows-u će ispravno konvertovati oba tipa crta, ali je potrebno putanju pisati pod znacima navoda, da se \ ne bi tumačila kao escape

DATOTEKE Txt Nizovi!!! SQL

Upisivanje i čitanje podataka Upisivanje podataka podrazumeva tri koraka: 1. Otvaranje datoteke (Ako ne postoji treba je napraviti) 2. Upisivanje podataka u datoteku 3. Zatvaranje datoteke Čitanje podataka iz datoteke podrazumeva: 1. Otvaranje datoteke (Ako ne postoji- rešiti programski) 2. Čitanje podataka 3. Zatvaranje datoteke

Otvaranje datoteke 1 Za otvaranje datoteke (ili URLa) koristi se php funkcija fopen() Režimi rada sa datotekama: -Da li se otvara samo za čitanje, upis ili oba? -Da li se upisuje preko postojećeg sadržaja ili dodatak? -Šta ako je datoteka u upotrebi? r Otvara se datoteka za čitanje (r+čitanje i upis od početka) w - Otvara se datoteka za upis (w+čitanje i upis od početka) a - Otvara se datoteka sa nastavljanjem sadržaja (ako je nema pravi se) b Ide u kombinaciji sa drugim simbolima, i pravi razliku između binarnih i tekstualnih datoteka t - Ide u kombinaciji sa drugim simbolima, i pravi text tip datoteku.

Otvaranje datoteke 2 Datoteka treba da je van direktorijuma u kome se nalazi prezentacija iz sigurnosnih razloga Ukoliko datoteka ne postoji, PHP generiše grešku Da se ova greška ne bi videla piše se simbol @ @ $nasadatoteka=fopen( folder/spisak.txt, ab ); Treba proveriti da li je datoteka dostupna, i ako ne generisati neku poruku korisniku Ako funkcija fopen() ne uspe, vraća se vrednost false $nasadatoteka je identifikator i sadržaj datoteke @ $nasadatoteka=fopen( folder/spisak.txt, ab ); If (! $nasadatoteka) { echo Vaša poruđžbina nije prihvaćena. Molimo pokušajte ponovo! ; exit; }

Zatvaranje datoteke Datoteka se zatvara funkcijom fclose(), pri čemu je obavezan identifikator datoteke fclose($nasadatoteka); Za razliku od upisa, kod zatvaranja se mnogo retko dešavaju slučajevi da se funkcija ne realizuje, pa se obično ne proverava Zatvaranjem datoteka, funkcija fclose() vraća true, pa se uvek može proveriti kao $zatvaranje=fclose($nasadatoteka); If (! $zatvaranje) { echo Vaša porudžbina nije još uvek obrađena (snimljena). Molimo pokušajte ponovo! ; exit; }

Čitanje datoteke Jedna od mnogo funkcija za čitanje je fread(), koja čita više bajtova iz datoteke odjednom Primer: do{$jedan_karakter=fread($datoteka, 10); $brojac.= $jedan_karakter;} while ($jedan_karakter) Skoro na isti način radi i funkcija fgetc(): koja čita jedan po jedan znak iz datoteke, a kada dođe do kraja vraća False Primer: $jedan_karakter=fread($datoteka, 1); je isto što i $jedan_karakter=fgetc($datoteka)

fread() $nasadatoteka=fread( folder/spisak.txt, 15); Na ovaj način iz datoteke (spisak.txt) sa definisanom putanjom (folder/spisak.txt) čita se 15 bajtova i vraća kao string, smeštajući u promenljivu $nasadatoteka Kada se pročita prvih 15 bajtova, i ponovo pozove funkcija fread, ona automatski čita sledećih 15 bajtova, i tako redom Kada se dođe do kraja, i ostane manje od 15 bajtova, taj broj se pročita i vrati promenljivoj kao string

Čitanje datoteke 2 Funkcija fgets()čita skupove znakova. Za razliku od fgetc() koja čita jedan po jedan znak, fgets()čita grupu znakova u navedenoj dužini. Prestaje sa čitanjem nailaskom na novi red ili kraj datoteke Čitanje cele datoteke je sa funkcijom file() Čitanje cele datoteke sa ispisom je funkcijom fpassthru(), ili pomoću readfile()

Detektovanje kraja sadržaja feof() File End Of File Funkcija feof() vraća True kada dođe do kraja datoteke, a u suprotnom vraća False Sintaksa feof($datoteka) feof() se jančešće koriti u kombinaciji sa while, i tako ne mora da se zna broj karaktera ili zapisa u datoteci while (!feof($nasadatoteka))

Primer feof() @ $nasadatoteka=fopen( proba/spisak.txt, r ); If (!$nasadatoteka) { echo Nema novih podudžbina! ; exit; } else{ while (!feof($nasadatoteka)) { $spisak=fgets($nasadatoteka, 999); echo $spisak <br/> ; } fclose($nasadatoteka); } Čitanje grupe znakova Ispis svih elemenata podrazumeva prolaz petljom kroz svaki red datoteke, ili grupe znakova, i ispis istog.

Primer fread() <? $a="test.txt"; $b=@fopen($a,"r"); $tekst=""; while(!feof($b)) { $tekst.=fread($b,500); } fclose($b); print($tekst);?>

Učitavanje niza iz datoteke Kada se formira datoteka, podaci se automatski mogu prebaciti u niz da bi se parcijalno mogli obrađivati Prebacivanje datoteke u niz je funkcijom file() Funkcija file() celu datoteku učitava u jedan niz, a svaki element tog niza je pojedinačni red iz datoteke Funkcija count() vraća ukupan broj elemenata u nizu (broj redova u datoteci) $promenljiva = file( folder/spisak.txt ); //datoteka je u nizu na koji ukazuje $promenljiva $brojelemenata= count($promenljiva); for ( $i=0; $i< $brojelemenata; $i++) {echo $promenljiva[$i] ;}

Načini čitanja datoteke 1 Čitanje red po red, dok se ne dođe do kraja datoteke, ili se isčita 998 bajtova $spisak=fgets($nasadatoteka, 999); Čitanje uz rastavljanje na pojedinačna polja, u odnosu na mesta gde se nalaze graničnici (tabulatori) $spisak=fgetcsv($nasadatoteka, 100, \t ); Rezultati se smeštaju u niz $spisak, a 100 je dužina u karakterima i trebalo bi da bude duže od dužine najdužeg reda u datoteci Čitanje cele datoteke je funkcijom readfile() i prikazuje se direktno u web čitaču, funkcijom file(), kojom se sadržaj smešta u niz readfile ( folder/spisak.txt );

Načini čitanja datoteke 2 $nasadatoteka=fopen( folder/spisak.txt, rb ); fpassthru($nasadatoteka); Funkcija fpassthru čita sve fajlove od trenutne pozicije pa do kraja fajla i smešta u bafer <?php $file = fopen("test.txt","r"); // Čita prvi red fgets($file); // Ostatak redova čita i šalje u bafer echo fpassthru($file); fclose($file);?>

Upis u datoteku Upis se vrši funkcijom $nasadatoteka=fopen( spisak.txt",'ab'); fwrite($nasadatoteka, $tekst); Tekst iz promenljive $tekst upisuje se u datoteku na koju pokazuje $nasadatoteka Može se definisati broj karaktera (dužina) koja se upisuje fwrite($nasadatoteka, $tekst, strlen($tekst)); Delovi zapisa se moraju razdvojiti nekim simbolima, ako se smeštaju u isti red $tekst = $date. \t.$knjige. knjiga\t.$olovke. olovki\t.$gumice. gumica\t. $ukupnoartikala. \n ; t je simbol za tabulator

Primer - Pristup, čitanje, upis i prikaz podataka iz tekstualnog fajla <? $nas_fajl="test.txt"; $sadrzaj=@fopen($nas_fajl,"r"); $tekst=""; $dodatak = "Jos nesto!"; while(!feof($sadrzaj)) { $tekst.=fread($sadrzaj,500); } $tekst1 = $tekst1.$dodatak ; fwrite($sadrzaj, $tekst1 ); fclose($sadrzaj); print($tekst1);?>

Rad sa podacima Vrednosti koje su u datoteci unete kao text, a odnose se na brojne veličine, moraju se konvertovati (input type= text ) Konverzija znakovne u brojnu promenljivu je funkcijom intval() Da bi se svaki od elemenata niza rasčlanio na delove, koristi se funkcija explode() Kako su u datoteci podaci bili razdvojeni tabulatorom, format funkcije je explode( \t, $promenljiva[$i]); Nakon rastavljanja elementa niza na njegove delove, treba formirati novi niz čiji će elementi biti dobijeni delovi

Izdvajanje delova unutar elementa Početni niz [0] [1] [2] 3. \t. b. \t.c \t. d \t Novi niz 1 [0] [1] [2] [3] [4] [5] 3 b c d... $brojelemenata= count($promenljiva); for ( $i=0; $i< $brojelemenata; $i++) $novi = explode( \t, $promenljiva[$i]); $novi[0]=intval ($novi[0]); // $novi[0]=3 $novi[1] // $novi[1]=b Ako je bilo potrebe za konverzijom

Prekid rada die() Prekid rada se može uraditi i automatski ako je u toku nekog obaveznog koraka bila greška Za to se koristi funkcija die Najčešće je to u if uslovu u kombinaciji sa otvaranjem, pa ukoliko se desi problem, kod se prekida, i korisniku se prikazuje adekvatna greška Primer $counter=./count.dat ; If (!($datoteka=fopen($counter, r ))) die ( Problem sa otvaranjem datoteka, pokusajte ponovo! );

Kopiranje i menjanje imena Kopiranje (prva u druga) - copy() if(!copy (./prva.txt, druga.txt )) die ( Nije uspelo kopiranje datoteke prva.txt u druga.txt! ); Promena imena - rename() if(!rename (./prva.txt, druga.txt )) die ( Nije uspela promena imena prva.txt u druga.txt! );

Provera postojanja i brisanje Provera postojanja - file_exists() if(file_exists( folder/spisak.txt )) echo Porudžbina čeka na obradu! ; else echo Nema novih porudžbina! ; Brisanje datoteke - unlink() unlink ( folder/spisak.txt ) Funkcija unlink() vraća false ako se brisanje ne izvrši. Za razliku od većine drugih jezika ne postoji funkcija delete

Zaključavanje datoteka 1 Koristi se da bi se izbegli problemi paralelne obrade baze Funkcija za zaključavanje je flock() Funkcija vraća true ako se datoteka uspešno zaključa Vrednosti parametara funkcije flock(): LOCK_SH - Zaključano za čitanje (više korisnika deli datoteku) LOCK_EX - Zaključano za upis (više korisnika ne može da deli datoteku) LOCK_UN - Otključava zaključanu datoteku LOCK_NB - Sprečava blokiranje prilikom zaključavanja flock() ne radi sa FAT i NFS mrežnim sistemima

Zaključavanje datoteka 2 $nasadatoteka = fopen ( folder/spisak.txt, ab ); flock ( $nasadatoteka, LOCK_EX ); // zaključaj datoteku radi upisivanja fwrite ( $nasadatoteka, $text ) ; flock ( $nasadatoteka, LOCK_UN ) ; // otključaj datoteku fclose ( $nasadatoteka ) ; $nasadatoteka = fopen ( folder/spisak.txt, r ); flock ( $nasadatoteka, LOCK_SH ); // zaključaj datoteku radi čitanja fwrite ( $nasadatoteka, $text ) ; flock ( $nasadatoteka, LOCK_UN ) ; // otključaj datoteku fclose ( $nasadatoteka ) ;

Slanje mail-a u PHP-u U PHP-u se mail može slati direktno bez direktnog kontakta nekog od korisničkih programa, ali se pri instalaciji mora definisati o kom programu se radi Funkcija za slanje mail-a je mail() Kao argumenti funkcije obavezni su adresa, subject, i poruka dok su ostali opcioni Provera popunjenosti obaveznih polja može se izvršiti funkcijom isset() Argument funkcije je name polje, koje se kontroliše, i ako je popunjeno vraća se true if (isset($knjiga)) {echo Ovo polje je popunjeno ;}

Kod za slanje mail-a <? $ime=$_post['ime']; $adresa=$_post['adresa']; $tekst=$_post['tekst']; $adresaprimaoca='info@milence.com'; $subject='poruka sa sajta!'; $sadrzajmaila='pošiljalac: '.$ime. "\n".'e mail pošiljalaca: '.$adresa. "\n". "Komentar: \n".$tekst. "\n"; $dolaznisajt='from:milence.com'; mail($adresaprimaoca, $subject, $sadrzajmail, $dolaznisajt);?>

Svojstva u vezi sa vremenom Funkcija filetime() vraća poslednje vreme pristupa datoteci Funkcija filectime() vraća poslednje vreme menjanja datoteke (kreiranje, upis ili promenu dozvola) Funkcija filemtime() vraća poslednje vreme ažurirnja datoteke (kreiranja ili promene sadržaja) Funkcija getdate() vraća kompletan podatak o datumu i vremenu za neki događaj

Vlasništvo i dozvole Kao i na većini operativnih Unix sistema gde se mogu dobiti informacije o vlasništvu i dozvolama za rad nad datotekama, to je moguće uraditi i u PHP-u. Sve datoteke se mogu vezati za određenog korisnika ili grupu korisnika, sa pravima o čitanju, pisanju ili izvršavanju sadržaja u njima Postoje tri vrste dozvola koje se mogu koristiti: Vlasnik datoteke onaj koji ju je kreirao Grupa korisnika grupa kojoj korisnik pripada Svi korisnici svi sa nalogom na sistemu

Vlasništvo i dozvole Korisnici i grupe su identifikovani preko ID brojeva i preko imena Za informacije o korisniku preko njegovog ID-a, koristi se funkcija posix_getpwuid() koja vraća niz sa sledećim vrednostima

Vlasništvo i dozvole I funkcija posix_getgrgid() vraća niz da vrednostima Funkcija fileowner() vraća ID broj korisnika koji je vlasnik date datoteke Funkcija filegroup() vraća ID broj grupe kojoj pripada vlasnik date datoteke Funkcija filetype() vraća tip datoteke. Moguće vrednosti su fifo, char, dir, block, link, file i unknown Funkcija is_dir() vraća True ako je dato ime datoteke direktorijum Funkcija is_file() vraća True ako je dato ime datoteke obična datoteka

Upload file - 1 HTML forma <html> <body> <form action="upload_file.php" method="post" enctype="multipart/formdata"> Za fajlove Za binarne fajlove: Filename: datoteke <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="submit" /> </form> </body> </html>

Upload file 2 / upload_file.php PHP kod <?php niz $_FILES["file"]["name"] ime uploadovanog fajla $_FILES["file"]["type"] - tip uploadovanog fajla $_FILES["file"]["size"] veličina u bajtima uploadovanog fajla $_FILES["file"]["tmp_name"] - ime privremene kopije na serveru $_FILES["file"]["error"] greška nastala pri uploadovanju fajla if ($_FILES["file"]["error"] > 0) { echo "Error: ". $_FILES["file"]["error"]. "<br />"; } else { echo "Upload: ". $_FILES["file"]["name"]. "<br />"; echo "Type: ". $_FILES["file"]["type"]. "<br />"; echo "Size: ". ($_FILES["file"]["size"] / 1024). " Kb<br />"; echo "Stored in: ". $_FILES["file"]["tmp_name"]; }?>

Restrikcije kod upload-a Upload.gif ili.jpeg fajl veličina fajla do 20 kb <?php if ( ( ($_FILES["file"]["type"] == "image/gif") ($_FILES["file"]["type"] == "image/jpeg") ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Error: ". $_FILES["file"]["error"]. "<br />"; } else { echo "Upload: ". $_FILES["file"]["name"]. "<br />"; echo "Type: ". $_FILES["file"]["type"]. "<br />"; echo "Size: ". ($_FILES["file"]["size"] / 1024). " Kb<br />"; echo "Stored in: ". $_FILES["file"]["tmp_name"]; } } else { echo "Invalid file"; }?>

Dati kod kreira privremnu kopiju upload-ovanog fajla na serveru. Krajem skripta ova kopija nestaje, pa se vrši njeno kopiranje na drugu lokaciju. <?php if (($_FILES["file"]["type"] == "image/gif") ($_FILES["file"]["type"] == "image/jpeg") ($_FILES["file"]["type"] == "image/pjpeg") && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: ". $_FILES["file"]["error"]. "<br />"; } else { echo "Upload: ". $_FILES["file"]["name"]. "<br />"; echo "Type: ". $_FILES["file"]["type"]. "<br />"; echo "Size: ". ($_FILES["file"]["size"] / 1024). " Kb<br />"; echo "Temp file: ". $_FILES["file"]["tmp_name"]. "<br />"; if (file_exists("upload/". $_FILES["file"]["name"])) { echo $_FILES["file"]["name"]. " already exists. "; } else { move_uploaded_file($_files["file"]["tmp_name"], "upload/".$_files["file"]["name"]); echo "Stored in: ". "upload/". $_FILES["file"]["name"]; } } } else { echo "Invalid file"; }?>

Toliko za sada

Otvaranje datoteke 3 ne važi za xampp Prvo se definiše putanja root-a samog servera u promenljivoj $DOCUMENT_ROOT $DOCUMENT_ROOT = $_SERVER[ DOCUMENT_ROOT ] (Kod simuliranja Root je npr C particija hard diska) Zatim se definiše promenljiva ($nasadatoteka) u koju se smeštaju podaci iz datoteke $nasadatoteka=fopen( $DOCUMENT_ROOT/ /folder/spisak.txt, ab ); Otvaranje datoteka pomoću FTP i HTTP protokola Smeštanje na udaljenom računaru definiše se protokolom, nakon čega se uspostavlja veza sa tim serverom automatski. Jedini uslov je crta na kraju adrese. Dobar primer http://www.primer.com/