Algoritmy s PHP

Ján Guniš, PF UPJŠ, Košice

 

Funkcie pre prácu so súbormi a adresármi

V tejto kapitole sa dozviete ako uchovávať dáta aj po skončení vykonávania skriptu, alebo ako uchovávať dáta z formulárov. Ukážeme si tiež, ako sa k získaným dátam neskôr vrátiť. V tabuľke nižšie je uvedených zopár príkazov pre prácu so súbormi a adresármi.

 

Príkaz Vysvetlenie
chdir(adresar) funkcia nastavuje aktuálny adresár, ak sa zmena podarí, funkcia vracia true, inak flase
closedir(ukazovatel na adresar) funkcia uzatvorí adresár otvorený na čítanie
copy (zdroj, ciel) skopíruje
fclose(ukazovatel na subor) funkcia uzatvorí súbor, ak sa súbor podarí uzatvoriť, funkcia vracia true, inak false
feof(ukazovatel na subor) test konca suboru, ak je koniec vracia true, inak false
fgetc(ukazovatel na subor) funkcia prečíta zo súboru jeden znak, ak sa dosiahol koniec súboru alebo došlo k chybe, funkcia vracia false, inak vracia prečítaný znak
gfetss(ukazovatel na subor, dlzka) funkcia prečíta jeden riadok zo súboru maximálne dĺžky dlzka-1 znakov, keď nastane chyba funkcia vráti false
file(subor) funkcia načíta súbor do poľa, funkcia vráti pole, kde každý prvok obsahuje jeden riadok súboru
file_exist(subor) funkcia testuje, či daný súbor existuje, ak áno vracia true, inak false
filesize(subor) funkcia vracia veľkosť súboru v B
fopen(subor, mod) funkcia otvorí súbor v zadanom móde a vracia ukazovateľ na tento súbor, ak sa súbor nepodarí otvoriť, vracia false
ako mód môžeme použiť jeden z nasledujúcich reťazcov "r" (otvoriť pre čítanie), "w" (otvoriť pre zápis, ak súbor existuje, zmaže sa), "a" (doplňovanie, zápis na koniec), "r+" (otvorí súbor pre čítanie a zápis, súbor musí existovať), "w+" (otvorí súbor pre čítanie a zápis, ak súbor existuje je zmazaný), "a+" (otvorí súbor pre čítanie a doplňovanie), 
fpassthru(ukazovateľ na súbor) funkcia vypíše zostávajúci obsah súboru na štandardný výstup a súbor zatvorí
fputs(ukazovatel na súbor, retazec) funkcia zapíše reťazec do súboru (to isté ako fwrite)
is_readable(súbor) zistí či sa daný súbor dá čítať, ak áno vracia true, inak false
is_writeable(súbor) zistí či sa dá do súboru zapisovať, ak áno vracia true, inak flase
mkdir(adresár, prava) príkaz vytvorí adresár s danými prístupovými právami, práva sa vyjadrujú číselne v osmičkovej sústave (napr.: 0700)
opendir(adresar) funkcia otvorí adresár a vracia ukazovateľ na tento adresár, ak sa nepodarí adresár otvoriť, funkcia vracia false
readdir(ukazivatel na adresar) funkcia prečíta názov jedného súboru z adresára, vracia názov tohto súboru, ak už boli všetky súbory prečítané, vracia false
readfile(subor) vypíše obsah súboru na štandardný výstup
rename(stare_meno, nove_meno) premenuje súbor, ak sa ho podarí premenovať, vracia true, inak false
rewind(ukazovatel na subor) nastaví pozíciu v súbore na začiatok
rewinddir(ukazovatel na adresar) presun na prvú položku v adresári
rmdir(adresar) odstráni adresár
tempnam(meno, prefix) funkcia vygeneruje jedinečné meno súboru v adresári začínajúce na prefix, funkcia vracia celé meno súboru vrátane cesty 
unlink(subor) zmazanie súboru, ak sa súbor podarí zmazať funkcia vracia true, inak false

 

Na Unix-ových systémoch je vhodné zaoberať sa otázkou prístupových práv k súborom a adresárom. PHP ponúka niekoľko nástrojov, ako prístupové práva spravovať: chgrp (zmena skupiny užívateľov súboru), chmod (zmena prístupových práv súboru), chown (zmena vlastníka súboru), filegroup (zistenie skupiny vlastníkov súboru), fileowner (zistenie vlastníka súboru), fileperms (zistenie prístupových práv k súboru). Pre viac informácií si pozrite HELP k PHP.