Home FORUM Toplista HTML CSS JavaScript PHP DIZAJN SEO Mapa |
![]() |
![]() |
![]() |
![]() |
![]() |
Ostale funkcije za rad sa fajlovimaFile_exists proverava da li postoji fajl a da se fajl ne otvori. Evo primera:
Rezultat bi bio u našem slučaju ako postoji fajl "podaci.txt": fajl postoji Funkcija za utvrdjivanje veličine fajla u bajtima je filesize. Evo primera.
Rezultat bi bio u našem slučaju ako postoji fajl "podaci.txt": 61 Filesize može da se koristi u kombinaciji recimo sa fread da isčita celi fajl kao što smo videli u prethodnom naslovu . Funkcija za brisanje fajla je unlink. Brisanje fajla se vrši na sledeći način:
Funkcija ne može obrisati fajl ukoliko nemate ovlašćenje pristupu fajlu ili ako ne postoji fajl. Zaključavanje fajla vršise funkcijom flock. Ako na primer dva posetioca sajta upisuje podatke u isti fajl, to jest zajedno pozivaju funkciju fopen postavlja se pitanje šta će biti u tom slučaju zapisano u fajl? Upis od jednog pa za njim upis od drugog korisnika, ili možda upis drugog pa za njim upis prvog, ili samo jedan upis od njih dvoje, ili dva izmešana upisa? Odgovor je najčešće nepredvidljiv! Takav problem se prilično rešava zatvoranjem fajla funkcijom flock nakon otvaranja fajla, ali pre čitanja ili upisa u fajl. Tako se rešava problem sa upisom podata u fajl ali se otvaraju novi problemi. Naime, kad se zaključa fajl onda više niko nema pristup tom fajlu sve dok program ne otključa fajl. Znači zaključavanjem fajla pravi se lista čekanja za pristup fajlu. Ukoliko su mnogi posetioci sajta na toj listi vreme čekanja se povećava pa neki zato mogu i da odustanu od zahteva za tim podacima. Takodje je nejasno pitanje šta će se odigrati ako dva ili više posetioca u istom deliću sekunde, to jest u vremenu dok traje jedan takt procesora servera, istovremeno zaključaju fajl, što nije nemoguće ako je sajt jako posećen? U tom slučaju će opet i jednom i drugom biti dozvoljeno istovremeno upisivanje u fajl, što nas opet vraća na prvobitan problem kako će upis izgledati, da li izmešano, itd itd. Znači iako je vreme mnogostruko skraćeno zaključavanjem fajla ipak se potpuno ne isključuje mogućnost problema pogrešnog upisivanja u fajl. Zaključavanje se vrši sledećim pisanjem:
Operacije mogu biti sledeće oznake:
Zbog svih ovih problema koje smo napomenuli u ovom delu (a nisu jedini) je i izmišljen na kraju krajeva sistem za upravljanje bazama podataka. Evo jednog primera zaključavanja fajla:
Ovim kodom smo u fajlu "podaci2.txt" smestili odredjene podatke ali tek nakon njegovog zaključavanja tako da neko drugi dok mi ubacujemo podatke ne može da ima pristup tom fajlu. Nakon funkcije fclose($fp) se fajl otključava i njegovom pristupu mogu imati i drugi posetioci. Još jednom napominjem, ako nameravate koristiti funkciju flock za odredjeni fajl onda je dodajte nakon svih funkcija koje otvaraju taj fajl (fopen i slične) inače je zaključavanje beskorisno. |
![]() |
Copyright © 2010 BUbaj. Powered By bubaj.com |
PHP PHP sintaksa Fajl Niz String Funkcija Objektno programiranje MySQL Unos fajla Datum Forme Sesija Registracija |