Fájlkezelés
Fájlok beágyazása include(): a zárójelbe a fájl neve kerül " " jelek között (elérési úttal is megadható) ha a beágyazott fájl is .php, akkor minden benne lévő utasítás végrehajtódik a beágyazott kódnak a return paranccsal adhatunk visszatérési értéket include_once(): több azonos nevű beágyazás esetén csak az egyiket hajtja végre
Fájlok beágyazása ha a beágyazandó fájlok egy könyvtárban vannak, ez megadható alapértelmezett beágyazás-könyvtárnak php.ini-ben: include_path=".:/.......:/......." beállításával futás idejére függvényekkel: ini_set("include_path", "/home/...."); set_include_path("/home/....");
Fájlok vizsgálata fájl létezését vizsgáló függvény – file_exists() paramétere: a függvény neve " " jelek között (elérési út is lehet) visszatérési értéke: igaz, ha létezik a függvény (true) hamis, ha nem létezik (false) példa: if (file_exists("vmi.txt")) { print "A fájl létezik";}
Fájlok vizsgálata (folyt.) Fájl vagy könyvtár vizsgálata: is_file() vagy is_dir() függvénnyel paramétere a fájl/könyvtár neve (elérési úttal is lehet) Visszatérés logikai értékkel (igaz vagy hamis) Fájl állapotának megállapítása: is_readable(), is_writeable(), is_executeable() függvényekkel paramétere a fájl neve (elérési úttal is lehet) visszatérési értéke igaz, ha van jogunk az adott művelethez, hamis, ha nincs
Fájlok vizsgálata (folyt.) Dátuminformációk lekérése fájloknál: utolsó megnyitás dátuma: fileatime() ez lehet írásra vagy olvasásra megnyitás is paramétere a fájl neve (elérési úttal is lehet) visszatérési értéke UNIX időbélyeg formátumú 1970.01.01 óta eltelt másodpercek száma date() függvénnyel átalakítható dátum formátumra ez a függvény nem működik FAT fájlrendeszű operációs rendszereken utolsó módosítás dátuma: filemtime()
Fájlok vizsgálata (folyt.) utolsó változtatás ideje: filectime() a változtatás nemcsak a tartalomra vonatkozik, hanem tulajdonos vagy jogosultságok megváltoztatására is egyes rendszerekben a visszatérési értéke a fájl létrehozásának dátuma mindhárom függvény paraméterezése és visszatérési értéke megyegyezik Példa: $atime = fileatime("vmi.txt"); print date("Y.m.d H:i", $atime);
Fájlok létrehozása és törlése Fájlok létrehozása – touch() paramétere: fájl neve " " jelek közt (elérési úttal is lehet) ha létezik ilyen, nem módosítja a tartalmát, csak a módosítás időpontját Létező fájl törlése – unlink() A létrehozás, írás, olvasás, módosítás csak akkor lehetséges, ha a megfelelő jogosultságokkal rendelkezünk
Fájlok megnyitása Fájlok megnyitása – fopen() két paramétere van, mindkettőt " " jelek közé kell tenni az első a fájl neve (elérési úttal is lehet) a második a megnyitás módja megnyitás olvasásra: r megnyitás írásra: w (üres fájlt hoz létre, ha volt mát olyan nevű, akkor kitörli a tartalmát) megnyitás hozzáfűzésre: a (fájl végéhez írhatunk hozzá) sikertelen megnyitás esetén false értékkel tér vissza
Fájlok megnyitása (folyt.) Példa: if ($file = fopen("vmi.txt","r")) { //kód } else { //hibaüzenet } Fájl bezárása – fclose() ha megnyitottunk egy fájlt, be is kell zárni paramétere a név " " jelek között, vagy a változó neve
Fájlból kiolvasás soronkénti kiolvasás – fgets() két paramétere van: fájl azonosítója (neve vagy a változójának neve) egész szám: legfeljebb hány bájtot olvasson ki a függvény a fájlból addig olvas a fájlból, amíg a sor végre nem ér ("\n"), vagy megadott bájtnyit ki nem olvasott, vagy a fájl végére nem ért a fájl végét az feof() függvénnyel állapíthatjuk meg, melynek paramétere a fájl azonosítója értéke igaz lesz, ha elértük a fájl végét
Fájlból kiolvasás (folyt.) Példa: $fnev = "vmi.txt"; if (! $file = fopen($fnev, "r")){ //hibaüzenet } else { while (! feof($file)) { $sor=fgets($file, 1024); print "$sor<br>";} }
Fájlból kiolvasás (folyt.) előre meghatározott méretű darabok kiolvasása – fread() két paramétere van: fájl azonosítója (neve vagy a változójának neve) egész szám: mennyit akarunk kiolvasni egyszerre (bájtban) visszatérési értéke a megadott mennyiségű adat lesz, kivéve, ha közben elérte a fájl végét hátránya: nem adhatjuk meg ezzel a függvénnyel, hogy honnan kezdje az olvasást
Fájlból kiolvasás (folyt.) Fájl adott pozíciójára állás – fseek() két paramétere van: fájl azonosítója egész szám: fájl elejétől bátjban mérve hova álljon megadja, hogy mennyivel tolja el a kezdést a fájl elejéhez képest Karakter kiolvasása – fgetc() paramétere a fájl azonosítója hossz nem kell, mert 1 karakter = 1 bájt
Fájlból kiolvasás (folyt.) Teljes fájl tartalmának kiolvasása – file_get_contents() paramétere a fájl azonosítója
Fájlba írás, hozzáfűzés A fájlba írás, illetve hozzáfűzés csak a megfelelő módon megnyitott fájloknál lehetséges Fájlba kiírás – fwrite(), fputs() két paraméterük van: fájl azonosítója amit bele akarunk írni a fájlba fputs() esetében vagy a szöveget írjuk be " " jelek között, vagy a változót, amiben benne van a kiírandó szöveg a második paraméternél összefűzés használható
Fájlba írás, hozzáfűzés (folyt.) megadhatunk egy harmadik paramétert is egész szám: hány bájtnyi adatot akarunk kiírni ha soronként szeretnénk kiírni szöveget a fájlba, akkor a sortörésről nekünk kell gondoskodni a sor végéhez hozzá kell adnunk a sorvége jelet Hosszabb adatok kiírása: file_put_contents() két paramétere van: fájl azonosítója, kiírandó adat utóbbi lehet szöveg, de akár tömb is ez elvégzi egyben a megnyitás-kiírás-bezárás műveleteket